猴子吃桃-倒推法

/**
 * 猴子吃桃子问题:
 * 猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。
 * 第二天又将剩下的桃子吃掉一半,又多吃了一个。
 * 以后每天都吃前一天剩下的一半零一个。
 * 到第10天在想吃的时候就剩一个桃子了,
 * 求第一天共摘下来多少个桃子? 
 * 

思路:倒推,第9天吃的剩下1个,第8天(f(9)+1)2, 第7天 (f(8)+1)*2,第1天(x/2)-1

 */
public class Monkey {

    private static int monkeyEatsPeach(){
        int lastdayNum = 1;
        int day = 9;
        System.out.println("第"+day--+"天,剩余桃子:"+lastdayNum);
        for(int i=1;i<10;i++){
            lastdayNum = (lastdayNum+1)*2;
            System.out.println("第"+day--+"天,剩余桃子:"+lastdayNum);
        }
        return lastdayNum;
    }

    public static void main(String[] args) {
        monkeyEatsPeach();
    }


}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章