階乘求和
阿新 • • 發佈:2017-11-16
ava 循環計算 cto lan ++ () out hub master
題目:求1+2!+3!+...+20!的和
方案1 //第i項的階乘值f(n)=f(n-1)*n public static int getFactorial(int i){ if (i==1) { //第一項為1 return 1; } return getFactorial(i-1)*i; //階乘值=上一個階乘值*第n項 } //調用 int sum = 0; for (int i = 1; i <= 20; i++) { System.out.println("第"+i+"項階乘值為:"+getFactorial(i)); sum+=getFactorial(i); } System.out.println("1+2!+3!+...+20!的和為:"+sum); 方案2 //第二種方法,通過循環計算出每一個階乘項的值 public static int getFactorial20(){ int sum = 0; int fac = 1; for (int i = 1; i <= 20; i++) { //總共20項 fac*=i; //沒一項的值 System.out.println("@方案two"+i+"項階乘值為:"+fac); sum+=fac; } System.out.println("@方案two1+2!+3!+...+20!的和為:"+sum); return sum; }
源碼
階乘求和