java经典算法|猴子吃桃问题

问题描述

      猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

问题分析

      这个题按天数来计算,第10天的时候只剩下1个桃子,前9天每天都吃桃子总数的一半多一个,也就是sum/2 + 1,回退计算:前一天总桃子数 = (当前桃子总数 + 1) *2

代码实现

public class MonkeyEatingPeach {
    public static void main(String[] args) {
    	//第10天的桃子数是1个
        int sum = 1;
        for (int i = 10; i > 1; i--) {
            //每天剩下的桃子数
            sum = (sum + 1) * 2;
        }
        //输出总的桃子数
        System.out.println(sum);
    }
}

运行结果

猴子吃桃问题运行结果

posted @   Evan-LiuXing  阅读(151)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示