乘階和,是求n的階乘和,也可以寫(xiě)成1!+2!+3!+...+n!。在Java程序中,可以使用循環(huán)和遞歸兩種方式來(lái)實(shí)現(xiàn)乘階和的求解。
// 使用遞歸實(shí)現(xiàn)乘階和的求解 public class FactorialSum { public static long factorial(int n) { if (n == 1) { return 1; } return n * factorial(n - 1); } public static long factorialSum(int n) { long sum = 0; for (int i = 1; i<= n; i++) { sum += factorial(i); } return sum; } public static void main(String[] args) { System.out.println(factorialSum(4)); // 輸出33 } }
以上代碼中的factorial方法,使用遞歸的方式求解n的階乘。factorialSum方法中,則是使用for循環(huán),依次計(jì)算1!+2!+...+n!的結(jié)果。
// 使用循環(huán)實(shí)現(xiàn)乘階和的求解 public class FactorialSum { public static long factorialSum(int n) { long sum = 0; long factorial = 1; for (int i = 1; i<= n; i++) { factorial *= i; sum += factorial; } return sum; } public static void main(String[] args) { System.out.println(factorialSum(4)); // 輸出33 } }
以上代碼中的factorialSum方法,則使用循環(huán)的方式,依次計(jì)算1!+2!+...+n!的結(jié)果。
無(wú)論是使用循環(huán)還是遞歸,都可以實(shí)現(xiàn)乘階和的求解。在實(shí)際編程中,我們需要根據(jù)需求和實(shí)際情況選擇最適合的方法。