一只猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个,第10天早上想再吃时,发现只剩下一个桃子了。请问猴子第一天一共摘了多少个桃子?
旁边要有注释`
可以一天一天往前推。
第十天剩一个,所以第九天剩(1+1)*2=4个,第八天剩(4+1)*2=10个。。。退出来第一天摘了1534个。
第十天剩一个,所以第九天剩(1+1)*2=4个,第八天剩(4+1)*2=10个。。。退出来第一天摘了1534个。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-08-11
public class Test {
public static void main(String[] args) {
int x=1;//最后剩1个桃子
for (int i = 0; i < 9; i++) {//一共吃了9天
x = (x+1)*2;//每天吃的桃子+1以后再X2就是上一天的桃子数
}
System.out.println(x);//显示总桃子数
}
}
public static void main(String[] args) {
int x=1;//最后剩1个桃子
for (int i = 0; i < 9; i++) {//一共吃了9天
x = (x+1)*2;//每天吃的桃子+1以后再X2就是上一天的桃子数
}
System.out.println(x);//显示总桃子数
}
}
第2个回答 2010-08-11
求解方法:逆向,第10天为1个,那么第九天就是(1+1)*2=4个,第八天呢就是(4+1)*2=10个,第七天为(10+1)*2=22个。。以此类推。 总共循环9次
public class Test{
public static void main(String[] args){
int sum=1;
for(int i=10;i>=1;i--){
sum=(sum+1)*2
}
System.out.printin("猴子第一天摘了"+sum+"个桃子");
}
}
public class Test{
public static void main(String[] args){
int sum=1;
for(int i=10;i>=1;i--){
sum=(sum+1)*2
}
System.out.printin("猴子第一天摘了"+sum+"个桃子");
}
}