java求1+2! +3! +.+.20!的和
时间: 2023-11-13 15:05:44 浏览: 83
好的,这个问题可以使用循环和递归两种方式来解决。我先给出循环的解法:
```java
public static void main(String[] args) {
long sum = 0;
long factorial = 1;
for (int i = 1; i <= 20; i++) {
factorial *= i;
sum += factorial;
}
System.out.println(sum);
}
```
输出结果为:2561327494111820313
这里使用了一个变量 `factorial` 来保存每个阶乘的值,然后累加到 `sum` 中。
接下来是递归的解法:
```java
public static long factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
public static void main(String[] args) {
long sum = 0;
for (int i = 1; i <= 20; i++) {
sum += factorial(i);
}
System.out.println(sum);
}
```
输出结果也是:2561327494111820313
这里使用了一个递归函数 `factorial` 来计算每个阶乘的值,然后累加到 `sum` 中。
阅读全文