java求1+2!+3!+...+20!的和。
时间: 2023-05-04 08:01:51 浏览: 169
题目要求计算1+2!+3!+...+20!的和。
其中,2!表示2的阶乘,即2×1=2;3!表示3的阶乘,即3×2×1=6,以此类推。
因此,需要对20个不同的数字进行阶乘运算,最后将它们相加得到结果。
由于这个过程较为繁琐,可以使用编程语言中的循环结构和递归算法来完成。
在Java中可以写出以下代码:
long sum = 0; // 定义一个长整型变量sum,用于存储结果
long fac = 1; // 定义一个长整型变量fac,用于存储当前数字的阶乘值
for (int i = 1; i <= 20; i++) { // 循环从1到20
fac *= i; // 计算当前数字的阶乘
sum += fac; // 将阶乘值加到sum上
}
System.out.println(sum); // 输出结果
这段代码首先定义了两个长整型变量sum和fac,分别用于存储结果和当前数字的阶乘。
接着通过for循环对从1到20的每个数字进行阶乘运算,并将结果加到sum上。
最后输出sum的值即可。
相关问题
java求1 + 2!+3!+....+20!
可以使用循环来计算1 + 2!+3!+....+20!,具体代码如下:
```
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
用Java求1+2!+3!+...+20!的和
以下是两种Java求1+2!+3!+...+20!的和的例子:
1.使用for循环和嵌套循环计算阶乘和
```java
public class Test{
public static void main(String[] args){
System.out.println("1!+2!+3!+……+20!="+getSum(20));
}
public static long getSum(int n){
int i,k,fac,sum=0;
for(i=1;i<=n;i++){
fac=1;
for(k=1;k<=i;k++)
fac=fac*k;
sum=sum+fac;
}
return sum;
}
}
```
2.使用递归函数计算阶乘和
```java
public class Prog21{
public static void main(String[] args){
long sum = 0;
for(int i=0;i<20;i++)
sum += factorial(i+1);
System.out.println(sum);
}
//阶乘
private static long factorial(int n){
if(n==1)
return 1;
else
return n*factorial(n-1);
}
}
```
阅读全文