题目:求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); } } }