猴子吃桃问题 (C++解决)
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。
问:第一天共摘了多少个桃子?
题目分析:
第九天的桃子数量,等于第十天的桃子数量加1然后乘以2
…,第十天桃子的数量已知为1个,所以我们就可以推出y=(y+1)*2
for循环
//猴子吃桃问题(for循环)
#include<iostream>
using namespace std;
int main()
{
int y=1;
int i=0;
for(;i<9;i++)
{
y=(y+1)*2;
}
cout<<y<<endl;
return 0;
}
while循环
//猴子吃桃问题(while循环)
#include<iostream>
using namespace std;
int main()
{
int y=1;
int i=0;
while(i<9)
{
y=(y+1)*2;
i++;
}
cout<<y<<endl;
return 0;
}