一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?
采取逆向思维的方法,利用循环语句从后往前推断。
#include <stdio.h>
int main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{
x1=(x2+1)*2; //第一天的桃子数是第 2 天桃子数加 1 后的 2 倍
x2=x1;
day--;
}
printf("第一天共摘了%d个桃子。\n",x1);
}