解题思路:根据已知条件,最后只剩一个桃,从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语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:597 |
文科生的悲哀 (C语言代码)浏览:1538 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:383 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:712 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:569 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:529 |
拆分位数 (C语言代码)浏览:558 |
母牛的故事 (C语言代码)浏览:519 |
简单的a+b (C语言代码)浏览:617 |
简单的a+b (C语言代码)浏览:497 |
昨夜无风无月 2022-10-25 23:55:56 |
合理利用循环可以简化代码