階乘的概念很簡單:n的階乘就是從1到n所有正整數的乘積。在計算機科學中,遞歸是一種高效的技術,可以用來解決許多問題。因此可以利用java遞歸來求1到n的階乘和。
public static int getFactorialSum(int n){ if(n == 1){ return 1; }else{ return n*getFactorialSum(n-1); } } public static int getFactorialSumRec(int n){ if(n == 1){ return 1; }else{ return getFactorialSum(n) + getFactorialSumRec(n-1); } } public static void main(String[] args){ int n = 5; int sum = getFactorialSumRec(n); System.out.println(sum); }
以上代碼中的getFactorialSum()方法用來求n的階乘,getFactorialSumRec()方法則是用來遞歸獲取從1到n的階乘和。在getFactorialSumRec()方法中,我們利用了遞歸調用來實現從1到n的階乘和的累加。如果n等于1,就直接返回1,否則就調用getFactorialSum()方法來計算n的階乘,并加上getFactorialSum(n-1)的結果。最后在main()方法中,我們可以選擇任意一個整數n來測試這個程序。