猴子吃桃问题,猴子第一天摘下若干果子,第一天吃了一半,又多吃了一个,第二天也是吃了一半,又多吃了一个,如此,第十天的时候就只剩下一个桃子了,求第一天摘了多少桃子。
![](https://img-blog.csdnimg.cn/img_convert/ff2acc1421193fa1e32d1a7412983054.png)
所以我们写出程序,用if else语句来区别n=1和n>1。
#include <iostream>
using namespace std;
int day(int);//对函数进行声明 ,编译器只读取类型,不读取形参,故可以不写形参
int main()//主函数
{
cout<<day(10)<<endl;
return 0;
}
int day(int n)//自定义的函数
{
int c;//作为一个盛放桃子数量的量
if(n==1) c=1;//相当于再说第一天的桃子是一个
else c=(day(n-1)+1)*2;//当大于等于第二天时,启动公式
return c;//把c作为day(10)的值传回主函数
}