题目:求1+2!+3!+...+20!的和
1.程序分析:此程序只是把累加变成了累乘。
public class 第二十一题求阶乘的数列 {
public static void main(String[] args) {
/*
* 思路:设定一个函数来计算每一项的值
* 然后再加起来
*/
long sum = 0; //存放数列的和
for(int i=1; i<21; i++) {
sum+= factorial2(i);
}
System.out.println("数列的和为:"+sum);
}
public static long factorial(int n) {
long result = 1;//存放阶乘的结果
for(int i=1; i<n+1; i++) {
result*=i;
}
return result;
}
//使用递归实现
public static long factorial2(int n) {
if(n==1) {
return 1;
} else {
return n*factorial2(n-1);
}
}
}