猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩下一个桃子了。编写程序求猴子第一天共摘了多少个桃子?
这个题目完全就是初中水平,就是找变量之间的关系,明确第1天桃数和第2天桃数之间的关系,就是第2天桃子加1的2倍=第1天的桃数。
我用的的是vs2022
(1)引用头文件#include<stdio.h>
(2) 定义day,a,b为基本整型,并为day,b赋值9和1;
(3)用for循环或者while语句由后向前推出第一天摘得桃子数;
while语句代码如下:
int main() {
int day, a, b;
day = 9;
b = 1;
while (day > 0) {
a = (b + 1) * 2; //第一天的桃子数是第二天桃子数加1后的两倍;
b = a;
day--;
}
printf("总桃数为:%d\n", a);
}
while语句运行结果:
for循环语句代码如下:
#include<stdio.h>
int main()
{
int sum, i;
sum = 1;
for (i = 10;i > 1;i--)
sum = (sum+1)*2;
printf("第一天桃子数为:%d\n", sum);
return 0;
}
这就是我用两种语句对猴子吃桃的理解。
话说回来,1534个桃子,我感觉这个猴子应该是吃一口就扔了。