猴子喫桃-倒推法

/**
 * 猴子喫桃子問題:
 * 猴子第一天摘下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();
    }


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