Java 中,数组阶乘和的求解可以使用 for 循环和递归两种方法来实现。
// 使用 for 循环求解数组阶乘和 public static int factorialSum(int[] arr) { int sum = 0; for (int i = 0; i< arr.length; i++) { sum += factorial(arr[i]); } return sum; } // 求解单个数的阶乘 public static int factorial(int n) { if (n == 0 || n == 1) { return 1; } else { return n * factorial(n - 1); } }
以上代码中,factorialSum 方法接收一个 int 类型的数组,使用 for 循环遍历数组中的每个元素,对每个元素调用 factorial 方法求出其阶乘,最后累加到 sum 变量中并返回。
factorial 方法接收一个 int 类型的参数,使用递归调用实现阶乘的计算。
// 使用递归求解数组阶乘和 public static int factorialSumRecursion(int[] arr) { int sum = 0; for (int i = 0; i< arr.length; i++) { sum += factorialRecursion(arr[i]); } return sum; } // 求解单个数的阶乘 public static int factorialRecursion(int n) { if (n == 0 || n == 1) { return 1; } else { return n * factorialRecursion(n - 1); } }
与使用 for 循环的方法相似,factorialSumRecursion 方法也接收一个 int 类型的数组,使用 for 循环遍历数组中的每个元素,对每个元素调用 factorialRecursion 方法求出其阶乘,最后累加到 sum 变量中并返回。
factorialRecursion 方法同样使用递归实现阶乘的计算。