1. 階乘公式
n!=1×2×3×...×n
階乘也可以用遞歸方式定義:
0!=1,n!=(n-1)!×n
2. 使用循環實現階乘
/** * 1、使用循環實現階乘 */ public class Factorial { public static int fact(int num) { int n = 1; // 查驗輸入錯誤 if (num < 0) { System.out.println("輸入錯誤,必須為正整數"); return -1; } else { // 循環num次 for (int i = 1; i <= num; i++) { // 每次循環一次就進行一次乘法運算 n = n * i; } // 返回階乘結果n return n; } } public static void main (String[] args) {
// 這里的fact方法在類Factorial中屬於靜態方法,不應該用類實例來訪問靜態成員,用類Factorial直接訪問靜態成員
int count = fact(3);
System.out.println(count);
}
}
3. 使用遞歸實現階乘
public class Factorial { public static int fact(int n) { // 驗錯 if (n < 0) { System.out.print("輸入錯誤,必須為正整數"); return -1; } else if (n == 1) { return 1; } // n的階乘就等於n乘(n-1)的階乘 return fact(n - 1) * n; } public static void main(String[] args) { System.out.println(fact(3)); } }