8.19求n的阶乘

1.最简单的方法,用循环求n的阶乘。

import java.util.Scanner;

public class JieCheng {
    public static void main(String[] args){
        System.out.println("请输入要计算的阶乘:");
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int m=1;
        for (int i=1;i<=a;i++){
            m=m*i;
        }
        System.out.println(a+"的阶乘为:"+m);

    }
}

2.递归法

import java.util.Scanner;

public class Digui {
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入阶乘:");
        int n=scanner.nextInt();
        System.out.println("结果为:"+jisuan(n));
    }
    public static int jisuan(int n){
        if (n==0){
            return 1;
        }
            return n*jisuan(n-1);
    }
}

在递归法中(0!=1,n!=12n.),我们的判断条件是输入的是否为0
return n
jisuan(n-1);语句的作用相当于上面的for循环。

猜你喜欢

转载自blog.csdn.net/zlc2351951436/article/details/99823227