【C语言】跳台阶
相信你是最棒哒!!!
一、题目描述
二、题目代码
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() {
// 从标准输入读取一个整数n
scanf("%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),即前两项的和。
-