阶乘

递归实现

    /**
     * 计算一个数的阶乘。 阶乘的定义为: 0的阶乘为1 n的阶乘为n*(n-1)*(n-2)*...*2*1
     *
     * @param n 输入数字
     * @return 该数字的阶乘
     */
    public static int factorial(int n) {
        if(n==1||n==0){
            return 1;
        }else {
            return n*factorial(n-1);
        }
    }

倒序循环实现

        int sum= 1;
        for (int i = n; i > 0; i--) {
            sum *= i;
        }
        return sum;

循环实现

   public static int factorial(int n) {
        int sum = 1;
        if(n==1){
            return 1;
        }else{
            for(int i=2;i<=n;i++){
                sum*=i;
            }
            return sum;
        }
    }
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注