1. 程式人生 > >求階乘之和 1!+2!+3!+...+10!

求階乘之和 1!+2!+3!+...+10!

用迴圈較易實現,遞迴只實現了求單個數的階乘。程式碼如下:

//求 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));
	}

}