问题:
猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
解析:
① 从最后一天的x=1个,倒推出前一天的个数x,需要注意的是表达式为x=2(x+1),而不是x=2x+1,注意两者之间的区别,想清楚为什么第二种不正确。
②
将该表达式作为循环9次的循环体,并在该语句处设置断点,进行观察即可。
具体程序:
#include<stdio.h>
int main()
{
int i;
int x=1;
for(i=0;i<9;i++)
x = 2*(x+1);
printf("%d ",x);
return 0;
}
程序运行结果为:1534.