java遞歸階乘
用遞歸演算法求一個數字的階乘的程序如下:
public class JieCheng {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("請輸入一個整數:");
int n = in.nextInt();
System.out.println(n+"!="+f(n));
}
static long f(int n){
if (n==1) return 1;
else return n*f(n-1);
}
}
運行結果:
請輸入一個整數:6
6!=720
❷ java語句 n!階乘
package what;
import java.util.*;
class rep
{
public long rep(int n)//自定義函數,rep為函數名,並且傳入一個參數n
{long i=0;
if (n==0||n==1) {//當n為0或1時,計算結果為1
i=1;
}else {//若n大於1,則進行遞歸調用,自己函數調用自己,進行判斷,直至n=1為止,如:rep(3)=3*rep(2)=3*2*rep(1)=3*2*1=6
i=n*rep(n-1);
}
return i;
}
}
public class jiecheng {
public static void main(String[] args){
int n;
Scanner s= new Scanner(System.in);//鍵盤讀入一個數
n = s.nextInt();
rep f=new rep();//實例化對象
System.out.println(n+"!"+f.rep(n));//輸出結果
}
}
❸ 在java中,用遞歸方法計算n的階乘。
用Java求鍵盤輸入的數的階乘n。(遞歸演算法)packagejiecheng; importjava.util.*; //導入java.util包中的所有類classrep{ publiclongrep(intn){ longi=0; if(n==0||n==1) i=1;
elsi=n*rep(n-1) returni; } } publicclassJie{ publicstaticvoidmain(String[]args){ intn; //此處定義要輸入的數Scanners= newScanner(System.in); //以下三行用於n的值得輸入System.out.print( "請輸入一個整數:"); n=s.nextInt(); repf= newrep(); System.out.println(n+"!="+f.rep(n)); } }