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