猴子吃桃问题
一只猴子第一天摘下若干个桃子,当即吃了一半,不过瘾,又多吃了一个。第二天又将剩下的桃子吃了一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个。第10天再想吃时,发现只剩下一个桃子。请问第一天猴子共摘了多少桃子?
[解决办法]
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); }}
[解决办法]
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); }}
[解决办法]
用循环就这样写是不是容易理解?
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; }}