猴子吃桃问题:猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?(Java / for循环)
public class demo {
public static void main(String[] args) {
int sum = 1; //定义第10天的桃子数
for (int i = 10; i > 1; i--){ //从后往前推
System.out.println("第"+ i +"天的桃子:" + sum); //输出每天的桃子数
sum = ( sum + 1 ) * 2; //根据吃掉一半,又多吃了一个。 就是一半加一个后乘2
}
System.out.println("第一天共摘下来了 " + sum + " 个桃子");
}
}
运行结果:
第10天的桃子:1
第9天的桃子:4
第8天的桃子:10
第7天的桃子:22
第6天的桃子:46
第5天的桃子:94
第4天的桃子:190
第3天的桃子:382
第2天的桃子:766
第一天共摘下来了 1534 个桃子