相信你是最棒噠!!!
一、題目描述
二、題目代碼
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),即前兩項的和。
-