本文探討如何高效地用Java代碼計算奇數或偶數的階乘積。 給定一個正整數n,如果n是奇數,則計算n(n-2)(n-4)…1;如果n是偶數,則計算n(n-2)(n-4)…2。
以下代碼提供了一種高效的解決方案:
import java.util.Scanner; class App { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.close(); long result = calculateProduct(n); System.out.println(result); } public static long calculateProduct(int n) { long product = 1; if (n % 2 == 0) { // 偶數 for (int i = n; i >= 2; i -= 2) { product *= i; } } else { // 奇數 for (int i = n; i >= 1; i -= 2) { product *= i; } } return product; } }
這段代碼使用了calculateProduct函數,該函數根據輸入的n是奇數還是偶數,使用不同的循環計算階乘積。 它避免了不必要的計算,提高了效率。 代碼簡潔易懂,具有良好的可讀性。
立即學習“Java免費學習筆記(深入)”;
歡迎各位提出更優化的算法或改進建議,共同學習進步!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END