求階乘之和 1!+2!+3!+...+10!
阿新 • • 發佈:2019-01-09
用迴圈較易實現,遞迴只實現了求單個數的階乘。程式碼如下:
//求 1!+2!+...+10! public class Jiechenghe { public static long func(int num){ //用迴圈求各階乘之和 long result=0; long f=1; for(int i=1;i<=num;i++){ f=f*i; //求各個階乘 result=result+f;//前幾個階乘的和 } return result; } public static long func1(int num){ //遞迴求單個數的階乘 if(num==1) return 1; return num*func1(num-1); } public static long func2(int num){ //迴圈呼叫遞迴函式求和 long result=0; while(num!=0){ result+=func1(num); num--; } return result; } public static void main(String[] args) { System.out.println(func2(3)); } }