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)); } }