猴子吃桃问题

猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?

分析:

假设某一天为n2,其前一天为n1。

则n2=n1/2-1;    反解得到n1=(n2+1)*2;

以此作为从后往前推的一句,根据最后一天剩下的桃子数量,求第一天的桃子数量。


#include<iostream>
using namespace std;
int main(){
    int n1=1,n2=1,i;
    for(i=1;i<10;i++){//注意这里是小于号
    	n1=(n2+1)*2;
   	    n2=n1;
    } 
    cout<<n2<<endl;
	return 0;
} 

在写这个代码的时候,一开始写成了i<=10,忽略了应该向前回溯9天,而不是10天的问题。

posted @ 2013-04-26 00:03  千手宇智波  阅读(161)  评论(0编辑  收藏  举报