(学习)java——递归实现阶乘计算

递归就是方法内部调用这个方法本身,简单来说就是自己调用自己。

1.阶乘公式

n!=n*(n-1)...2*1(n为正整数)=n*(n-1)!

另规定:0!=1

2.循环实现阶乘计算

/**
     * 使用循环的方法完成阶乘计算
     * @param num
     * @return
     */
    public static int forFact(int num) {
        int n = 1;
        //检查输入的是否为正整数
        if (num < 0) {
            System.out.println("负数没有阶乘,请输入正整数");
            return -1;
        }
        //循环次数为num次
        for (int i = 1; i <= num; i++) {
            //进行乘法运算
            n *= i;
        }
        //返回阶乘结果
        return n;
    }

3.递归实现阶乘结算

/**
     * 使用递归的方法完成阶乘计算
     * @param num
     * @return
     */
    public static int fact(int num) {
        if (num < 0) {
            System.out.println("负数没有阶乘,请输入正整数");
            return -1;
        } else if (num == 0) {
            return 1;
        }
        return num * fact(num - 1);
    }

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值