递归练习:猴子吃桃问题

/*===================================
小猴子第一天摘下若干桃子,当即吃掉一半,又多吃一个.
第二天早上又将剩下的桃子吃一半,又多吃一个.
以后每天早上吃前一天剩下的一半另一个.
到第10天早上猴子想再吃时发现,只剩下一个桃子了.
问第一天猴子共摘多少个桃子?
====================================*/
 1 #include<iostream>
 2 using namespace std;
 3 int fun(int n);//表示第n天吃之前原来有的数量 
 4 int main()
 5 {
 6     cout<<fun(1);
 7     return 0;
 8 }
 9 int fun(int n)//表示第n天吃之前原来有的数量 
10 {
11     if(n==10)
12     {
13         return 1;
14     }
15     else
16     {
17         return (fun(n+1)+1)*2;
18     }
19 }
View Code

递归函数这个东西呢最重要的是把函数的代入参数时表达的含义意义想清楚。

此外,要明确递归函数是否需要返回值。如果需要返回值,返回值的含义是什么也要确定下来。

原文地址:https://www.cnblogs.com/huashanqingzhu/p/3580874.html