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

package Demo17Monkey_Eat_Peach;
public class Monkey_Eat_Peach {
    /**
     * 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
     * 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
     * 以后每天早上都吃了前一天剩下的一半零一个。
     * 到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
     */
    /*
    分析:第10天剩下1个桃子,其实是第9天它吃过了第8天剩下的一半又吃了一个后剩下的
         那么,倒过来算,第9天还没吃之前应该是(1+1)*2,当天还没吃之前的桃子数是吃过之后剩下的
         桃子数加上一再乘以二。
     */
    public static void main(String[] args) {
        // 定义一个变量来记录总桃子数,第9天晚上剩下1个
        int sum =1;
        // 逆向计算,一直算出第1天还没吃之前的桃子数
        for(int i =9;i>=1;i--){
            sum=(sum+1)*2;
        }
        System.out.println("该猴子第一天共摘了"+sum+"个桃子。");
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容