乘阶和,是求n的阶乘和,也可以写成1!+2!+3!+...+n!。在Java程序中,可以使用循环和递归两种方式来实现乘阶和的求解。
// 使用递归实现乘阶和的求解 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循环,依次计算1!+2!+...+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方法,则使用循环的方式,依次计算1!+2!+...+n!的结果。
无论是使用循环还是递归,都可以实现乘阶和的求解。在实际编程中,我们需要根据需求和实际情况选择最适合的方法。