階乘和是指從1到n連續的所有整數的階乘的總和。在Java中,我們可以使用循環和遞歸兩種算法來計算。
使用循環的算法:
long sum = 0; long factorial = 1; for (int i = 1; i<= n; i++) { factorial *= i; sum += factorial; } System.out.println(sum);
使用遞歸的算法:
public static long sumFactorialRecursive(int n) { if (n == 1) { return 1; } return factorial(n) + sumFactorialRecursive(n - 1); } public static long factorial(int n) { if (n == 1) { return 1; } return n * factorial(n - 1); } public static void main(String[] args) { System.out.println(sumFactorialRecursive(10)); }
以上是計算1到10的階乘和的示例代碼。
無論是循環還是遞歸,都需要注意階乘的計算過程中可能出現的數值溢出情況。