Java编写程序实现求1!+2!+3+...+20!。
时间: 2023-09-13 12:05:55 浏览: 133
```java
public class Factorial {
public static void main(String[] args) {
long result = 1;
for (int i = 1; i <= 20; i++) {
result *= i;
System.out.println(i + "! = " + result);
}
}
}
```
输出结果为:
```
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
11! = 39916800
12! = 479001600
13! = 6227020800
14! = 87178291200
15! = 1307674368000
16! = 20922789888000
17! = 355687428096000
18! = 6402373705728000
19! = 121645100408832000
20! = 2432902008176640000
```
相关问题
java编写应用程序求1!+2!+...+10!
在Java中编写一个程序来计算1!+2!+...+10!的和,可以通过使用循环结构和递归方法来实现。以下是两种可能的实现方式:
1. 使用循环结构:
```java
public class FactorialSum {
public static void main(String[] args) {
int sum = 0;
int factorial = 1;
for (int i = 1; i <= 10; i++) {
factorial *= i; // 计算i的阶乘
sum += factorial; // 累加到总和中
}
System.out.println("1!+2!+...+10! 的和为: " + sum);
}
}
```
2. 使用递归方法:
```java
public class FactorialSum {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += factorial(i); // 使用递归方法计算阶乘并累加
}
System.out.println("1!+2!+...+10! 的和为: " + sum);
}
public static int factorial(int n) {
if (n <= 1) {
return 1; // 递归的基本情况
} else {
return n * factorial(n - 1); // 递归调用
}
}
}
```
在这两个例子中,程序首先初始化一个用于累加阶乘值的变量`sum`,然后通过循环(或递归)计算每个数的阶乘,并将其加到`sum`上。最后,输出计算的总和。
用Java编写程序实现求 1!+2!+3!+...+20!。
可以使用BigInteger类来计算20的阶乘,然后将所有阶乘相乘即可。以下是Java代码示例:
import java.math.BigInteger;
public class Factorial {
public static void main(String[] args) {
BigInteger result = BigInteger.ONE;
for (int i = 1; i <= 20; i++) {
result = result.multiply(BigInteger.valueOf(i));
}
System.out.println(result);
}
}
输出结果为2432902008176640000。