这是一道递归函数题目;
递归函数有个规律:所有的变量递增或递减都被一个公式满足;并且他的最大或最小都是一个常量
因为我们知道第十天的桃子数,从第十天往上推;
假设第n天有f(n)个桃子
第十天的桃子: f(10)=1;
第九天的桃子: f(9)=[f(10)+1]*2;
第八天的桃子: f(8)=[f(9)+1]*2;
....
第n天的桃子: f(n)=[f(n+1)+1]*2;
根据上述就可以写出递归函数
- #include <stdio.h>
- int howManyPeach(int n)
- {
- if (n==10) {
- return 1;
- }
- return (howManyPeach(n+1)+1)*2;
- }
- int main(int argc, const char * argv[])
- {
- int result=howManyPeach(1);
- // insert code here...
- printf("%d\n",result);
- return 0;
- }
复制代码 |