淘先锋技术网

首页 1 2 3 4 5 6 7

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 方法同样使用递归实现阶乘的计算。