相信你是最棒哒!!!
一、题目描述
二、题目代码
1.斐波那契数列
2.DFS深度搜索
总结
一、题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
二、题目代码
1.斐波那契数列
2.递归
注释版
#include <stdio.h>// 定义全局变量n,用于存储输入的数字
int n;// 定义递归函数dfs,用于计算斐波那契数列的第x项
int dfs(int x) {// 如果x为1,返回1(斐波那契数列的第一项)if (x == 1) return 1;// 如果x为2,返回2(斐波那契数列的第二项)if (x == 2) return 2;// 否则,返回前两项的和(递归调用dfs函数)return dfs(x - 1) + dfs(x - 2);
}int main() {// 从标准输入读取一个整数nscanf("%d", &n);// 调用dfs函数,计算斐波那契数列的第n项int res = dfs(n);// 将结果输出到标准输出printf("%d\n", res);return 0;
}
解析版
#include <stdio.h>
#include<string.h>
int n;
int dfs(int x) {if (x == 1) return 1;if (x == 2) return 2;return dfs(x - 1) + dfs(x - 2);
}
int main() {scanf("%d", &n);int res = dfs(n);printf("%d\n", res);return 0;
}
总结
-
dfs
函数:-
这是一个递归函数,用于计算斐波那契数列的第 x 项。
-
如果 x=1,返回 1。
-
如果 x=2,返回 2。
-
否则,返回 dfs(x−1)+dfs(x−2),即前两项的和。
-