有一堆桃子不知其数,猴子每天吃前一天的一半多一个,到第10天只剩一个,求桃子数
/*
File name:求桃子数.cpp
Author:杨柳
Date:2017/5/22
IDE:DEV-c++
*/
/*
递归函数:
f(n)={ 1 n=9
f(n+1)*2+2 n<10 (因为:f(n)-(f(n)/2+1)=f(n+1))
}
其中n为天数,f(n)为第几天所剩下的桃子数
*/
#include<iostream>
using namespace std;
//第几天剩余桃子数
int fruit(int day){
if(day==9)
return 1;//第九天剩余1个桃子
else
return (fruit(day+1)*2)+2;
}
//计算经过每天吃的桃子数
int eatfruit(void) {
int i=9;
for(i;i>0;i--){
cout<<"第"<<i<<"吃的桃子数为:"<<(fruit(i-1)/2+1)<<endl;
}
return 0;
}
int main(){
cout<<"第一天桃子数为:"<<fruit(0)<<endl;//为第0天剩余的桃子数
eatfruit();
}