JAVA——遞迴實現n的階乘
阿新 • • 發佈:2018-11-12
n的階乘的演算法:n*(n-1)*(n-2)… *1
例如5的階乘為:5 * 4 *3 * 2 * 1
程式碼如下:
//遞迴實現n的階乘
import java.util.Scanner;
public class Factorial1{
//實現階乘的方法——使用遞迴
//要接收一個引數,應該定義引數型別和名字 int i
//需要n的階乘,是一個數字,應該有返回值,返回值型別int
public static int factorial(int n){
if(n == 1){
return 1;
}
else{
return n*factorial(n-1);
}
}
//主方法
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);//宣告Scanner物件
System.out.print("請輸入數字:"); //提示使用者輸入數字
int num = scanner.nextInt();//定義num接受輸入的數字
int ret = factorial(num);//呼叫階乘方法
System.out.println(num+"的階乘為"+ret);//輸出返回值
}
}
執行結果如下: