日期:2014-05-20  浏览次数:20630 次

猴子吃桃问题
一只猴子第一天摘下若干个桃子,当即吃了一半,不过瘾,又多吃了一个。第二天又将剩下的桃子吃了一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个。第10天再想吃时,发现只剩下一个桃子。请问第一天猴子共摘了多少桃子?

------解决方案--------------------
Java code

public class Monkey {
    public static void main(String args[]){
        int sum = 1;
        for(int i = 1; i < 10; i++)
            sum = (sum + 1) * 2;
        System.out.println(sum);
    }
}

------解决方案--------------------
Java code
public class Test{
    public static void main(String args[])  {
        int peach=totalPeach(1);
        System.out.println(peach);
        
    }
    public static int totalPeach(int day){
        if(day==10){
            return 1;
        }
        return 2*(totalPeach(day+1)+1);
    }
}

------解决方案--------------------
用循环就这样写是不是容易理解?
Java code
public class Test{
    public static void main(String args[])  {
        int peach=totalPeach();
        System.out.println(peach);
        
    }
    public static int totalPeach(){
        int sum=1; //第10天的桃子数;
        for(int day=9;day>=1;day--){
            sum=(sum+1)*2;
        }
        return sum;
    }
}