猴子吃桃问题

文章讲述了猴子每天吃掉桃子数量的一半并多一个,直到剩下10个,通过逆向计算得出初始桃子总数的递归算法。最终得出答案是1534个桃子。
摘要由CSDN通过智能技术生成

有一堆桃子,猴子第一天吃了桃子的一半,并再多吃一个;以后的每天猴子都吃其中的一半,并多吃一个,知道第10天,猴子的桃子只剩下10个,问:猴子一共有多少个桃子;

解析:1 利用倒推思想 当n=10(第十天)的时候,桃子(peach)=1;

           2 当n=9(第九天)的时候,桃子(peach)=(第十天+1)*2=4;

           3 当n=8(第八天)的时候,桃子(peach)=(第九天+1)*2=10;

          以此类推,我们可以得到一个规律:当天的桃子=(后一天的桃子+1)*2;

class AA {
    public int peach(int n) {
            if (n == 10 ) {
                return 1;
            } else if(n>=1&&n<10) {
                return (peach(n+1)+1)*2;//桃子的个数
            }else {
                System.out.println("作用域仅在1-10");
                return -1;
            }
        }
    }
public class TestAA {
    public static void main(String[]args){
int n=1;
            AA t=new AA();
            int y=t.peach(n);
        System.out.println("一共有:"+y);
    }
}

测试结果

 一共有:1534

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值