用递归算法求一个数字的阶乘的程序如下:
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
2. Java中怎样用递归函数求20的阶乘
int a=1;
for(int k=2;k<=20;k++){
fac=fac*k;
System.out.println(k="!="+fac);
}
下面的你得自己注意领悟拉:
Function js(i){ //定义函数 js 并传递参数 i
If (i = 1) { //若过程中 i=1
js = 1} //则 js = 1
Else //否则
js = i * js(i - 1) // ..
}
3. java怎么用递归写N的阶乘
public class Fac {
public int fac(int n) {
return n <= 1 ? 1 : n * fac(n - 1);
}
}
这个比较简单、普遍,有一定限制,给你作参考
4. 在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)); } }
5. 求一个用java代码写出一个 用递归函数实现一个n的阶乘 要求n是从键盘上输入
importjava.util.Scanner;
publicclassFactorial{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.print("请输入n:");
longn=Long.parseLong(sc.nextLine());
System.out.println(getFac(n));
}
publicstaticlonggetFac(longn){
if(n==1){
return1;
}
returngetFac(n-1)*n;
}
}
6. java递归求数字10的阶乘。
我按照我的理解给你解答一下,希望你能看明白。
我理解中的递归,就是在没完成当前运算的情况下,先完成当前运算的上一级,如上一级仍未完成则继续推向上一级,知道完成某一级运算后,在逐条往回返,最终的运算结果就是最终的值。
i 为 10时,add(10) = 10*(add(9)),此时10为整数,而我们需要计算出add(9)为多少;
i 为 9 时,add(9) = 9*(add(8)),这样再结合上一级 add(10) = 10*9*(add(8))
...
i 为2时, add(2) = 2*(add(1))=2*1,因此add(10) = 10*9*8*7*6*5*4*3*2*1.
7. java如何用递归实现数字的阶乘呢
public static int jiecheng(int n)
{
if (n ==1)
{
return 1;
}
else
{
return jiecheng(n - 1) * n;
}
}
然后调用jiecheng这个方法,输出jiecheng(n).............n数字自己取