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 方法同樣使用遞歸實現階乘的計算。