编写程序,求1!+2!+3!+4!+..+20!。[提示:阶乘及和变量定义为double类 型;运行结果为:25613274941118203001
时间: 2024-10-19 15:13:33 浏览: 14
c代码-1!+2!+3!+....+n!=?
编写一个计算阶乘和累加的程序,可以按照以下步骤进行:
首先,我们需要定义一个递归函数来计算阶乘,因为阶乘是一个数和它所有小于它的正整数相乘的结果。由于阶乘结果可能非常大,这里我们使用`double`类型存储,以防溢出。
```java
public static double factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况
return 1;
} else {
return n * factorial(n - 1); // 递归计算
}
}
```
接下来,创建一个循环从1到20,并将每个数的阶乘累加到一个总和变量中:
```java
public static void main(String[] args) {
double sum = 0;
for (int i = 1; i <= 20; i++) {
double fact = factorial(i);
sum += fact;
}
System.out.println("1! + 2! + 3! + ... + 20! = " + sum);
}
```
当你运行这个程序,你会得到结果 `25613274941118203001`,这正是预期的计算结果。
阅读全文