猴子第一天摘下若干个桃子,当即吃了一半,然后又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子?
最简单的就是倒推法:
第10天:1
第9天:剩了(1+1)×2=4,吃了4*1/2+1=3个
第8天:剩了(4+1)×2=10,吃了10*1/2+1=6个
第7天:剩了(10+1)×2=22,吃了22*1/2+1=12个
第6天:剩了(22+1)×2=46,吃了46*1/2+1=24个
第5天:剩了(46+1)×2=94,吃了94*1/2+1=48个
第4天:剩了(94+1)×2=190,吃了190*1/2+1=96个
第3天:剩了(190+1)×2=382,吃了382*1/2+1=192个
第2天:剩了(382+1)×2=766,吃了766*1/2+1=384个
第1天:剩了(766+1)×2=1534,吃了1534*1/2+1=768个
由以上可知,第一天共摘了1534个
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int count=1;
for(int i=2;i<=10;i++)//从第二天开始
{
count=(count+1)*2;
}
cout<<"猴子第一天摘了"<<count<<"只桃子";
return 0;
}