1. 程式人生 > >階乘求和

階乘求和

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; }

源碼

階乘求和