原题链接:[编程入门]猴子吃桃的问题
解题思路:根据已知条件,最后只剩一个桃,从1开始依次往回递归,可得递归表达式f(x)=2*(f(x-1)+1)
注意事项:因为递归次数n在主函数才被用户赋值,但是在主函数下面再定义递归函数不符合电脑的编译顺序,因而可以先在前面定义这个递归函数但是先不做处理,只是告诉有这么一个函数,后面会进行处理。
参考代码:
#include<stdio.h>
int f(int x);
int main()
{
int n = 0;
scanf_s("%d", &n);
printf("%d", f(n));
return 0;
}
int f(int x)
{
if (x - 1)
return 2 * (f(x - 1) + 1);
else return 1;
}
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复