計算 1+2!+3!+...+20!的和
1、使用嵌套循環實現
public class FactorialAdd { public static void main(String[] args) { //計算 1+2!+3!+...+20!的和 System.out.println(" 1+2!+3!+...+20!的和為:"+factAdd()); } //使用嵌套循環計算 1+2!+3!+...+20!的和、 public static double factAdd(){ double sum = 0; for(int i = 1 ; i <= 20 ; i++){ int result = 1; for(int j = 1 ; j <= i; j++){ result *= j; } sum += result; } return sum; } }
2、使用遞歸實現
public class FactorialAdd { public static void main(String[] args) { //計算 1+2!+3!+...+20!的和 System.out.println(" 1+2!+3!+...+20!的和為:"+factAdd()); } //和計算 public static double factAdd(){ double result = 0; for(int i = 1 ; i <= 20 ; i++){ result += fact(i); } return result; } //階乘計算 public static int fact(int n){ if(n == 1){ return 1; }else{ return n*fact(n-1); } } }