使用java計算一個數的階乘--遞迴
阿新 • • 發佈:2019-01-08
1.計算一個數的階乘,不使用遞迴
/** * 列印5的階乘到控制檯 * 注意java中資料型別的最大值: * Integer.MAX_VALUE=2147483647; * Long.MAX_VALUE=9223372036854775807; * Double.MAX_VALUE=1.7976931348623157E308 */ @Test public void getFactorial02(){ //列印5的階乘到控制檯 int num = 5; int factorial = num; if (num==1){ factorial = 1; }else { for (int i=1;i<num;i++){ factorial *= num-i; } } System.out.println(factorial); }
2.計算一個數的階乘,使用遞迴
/** * 遞迴求一個數的階乘,列印5的階乘到控制檯 * 注意java中資料型別的最大值: * Integer.MAX_VALUE=2147483647; * Long.MAX_VALUE=9223372036854775807; * Double.MAX_VALUE=1.7976931348623157E308 */ @Test public void getFactorial01(){ //列印5的階乘到控制檯 System.out.println(factorial(5)); } /** * 計算一個數的階乘 * @param num * @return */ private int factorial(int num){ if (num<=1){ return 1; }else { return num * factorial(num-1); } }