解题思路:递归


注意事项:递归出口与递归式子

参考代码:

#include

int monkey(int a)
{
 if(a==1)
 return 1;
 else
 return (monkey(a-1)+1)*2;
}

int main(void)
{
   int a,add;
   scanf("%d",&a);
   add=monkey(a);
   printf("%d",add);
    return 0;
}  


点赞(0)
 

0.0分

4 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 2 条评论

谭森铭 4年前 回复TA
@葡萄猫小汪 就是一个模拟的过程:a是天数,往下递归的时候天数减一,monkey可以看成当前桃子数,最底层是1,每一层往上返回桃子数时先要把多吃的一个桃子加上,在扩大两倍还原
葡萄猫小汪 4年前 回复TA
return (monkey(a-1)+1)*2
这句话可以解释一下吗