java基础题目:求1+2!+3!+...+20!的和
第一种:使用递归和循环求和
public static void main(String[] args) {
// 求1+2!+3!+...+20!的和
long sum = 0;
for (int i = 1; i <= 20; i++) {
sum += factorial(i);
}
System.out.println("和为:" + sum);
}
// 创建求阶乘的方法
public static long factorial(int num) {
if (num == 1) {
return 1;
}
// 使用递归求阶乘
return num * factorial(num - 1);
}
第二种:使用双循环求和
public static void main(String[] args) {
// 求1+2!+3!+...+20!的和
long sum = 0;// 求总和
for (int i = 1; i <= 20; i++) {
long temp = 1;// 求每个数的阶乘
for (int j = 1; j <= i; j++) {
temp *= j;
}
sum += temp;
}
System.out.println("和为:" + sum);
}