Java遞歸算法求n的階乘的和是一道基本的算法題。在這個問題中,我們需要使用遞歸去計算n的階乘,并將每一個階乘相加,得到總和。
public class FactorialSum { public static void main(String[] args) { int n = 5; int result = factorialSum(n); System.out.println(result); } public static int factorialSum(int n) { if (n == 1) { return 1; } int factorial = 1; for (int i = 1; i<= n; i++) { factorial *= i; } return factorial + factorialSum(n - 1); } }
在這段代碼中,首先我們定義了一個factorialSum方法,它接收一個整數n作為參數。如果n等于1,則直接返回1,因為1的階乘為1。否則,我們計算n的階乘,并遞歸調用factorialSum方法去計算n-1的階乘和。最終得到所有階乘的和,即為所求。
需要注意的是,使用遞歸算法時需要注意遞歸深度的限制,否則會出現棧溢出的錯誤。在實際應用中,建議使用循環或其他更高效的算法來解決。
上一篇Python的計算負