用Java编程计算猴子吃桃问题

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

分析:
假如每天有x个桃子,猴子吃了一半加一个,就是吃了x/2+1个,那么剩余x-(x/2+1)=x/2-1个;
这样,第二天有x/2-1个桃子供当天使用。
我们可以看出这么一个规律:今天的桃子个数+1再乘2等于昨天的桃子个数;用上面的表达式就是( x/2-1   +1 )*2=x。
如此,只要知道了最后一天的桃子个数,知道了最后一天是第几天,就可以逆推出第一天总共多少个桃子了-----我当时就是如此逆推的。

 

用java实现,代码如下:

public class test2 {

    public static void main(String[] args){
        int t = 1;    
        for(int i=1;i<10;i++){
            t=(t+1)*2;                        
        }
        System.out.println("the initial number of peachs is:"+t);
    }

}

posted @ 2017-09-08 10:39  高冷就是范儿  阅读(658)  评论(0编辑  收藏  举报