题目:猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
输入:N,输出:桃子总数。样例输入:8,样例输出:382
#include<stdio.h>
int main()
{
int i,N,s=1; //定义的s要赋值为1.
scanf("%d",&N);
for(i=1;i<N;i++) //注意循环次数,若是 N=10,则要循环 9 次
{ //因为猴子是第 N 天就只剩 1 个桃子了,所以第 N 天就没有算上
s=(s+1)*2; //从第 N 天往回推,每次都是 s 个桃子加 1 个再乘 2 最后当 i=N 时结束循环
}
printf("%d",s); //最后输出原来的桃子数 s
return 0;
}
我用了C和C++的语法书写了一次,大家可以对照验算。
此题适合C语言入门人员练习,谢谢你们的观看,希望一起进步,喜欢点个关注,有什么不懂的大家一起讨论。