递归之猴子吃桃

public static void main(String[] args) {
        //有一堆桃子,猴子第一天吃了其中的一半,并多吃了一个
        //以后每天猴子都吃当前剩下来的一半,然后再多吃一个
        //第10天还没吃,发现还剩一个桃子,请问最初有多少个


        //day10:1
        //由-->以后每天猴子都吃当前剩下来的一半,然后再多吃一个这句话可以推断出
        //day9:(day10+1)*2=4
        //day8:(day9+1)*2=10
        //day7:(day8+1)*2=22
        //day6:(day7+1)*2=46
        //(后一天的+1)*2

        System.out.println(getSum(7));
    }

    public static int getSum(int day) {//10
        //判断时间是否错误
        if (day <= 0 || day > 10) {
            System.out.println("你的时间有误");
            return -1;
        }
        //出口
        if (day == 10) {
            return 1;
        }
        //规律  (后一天的个数+1)*2
        return (getSum(day + 1) + 1) * 2;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值