台阶问题(C语言)
題目:臺階總共有n級,一次可以上1級,也可以上2級。總共有多少種走法?
解析:
一級臺階有一種走法,兩級臺階有兩種走法,當第一步走了一級臺階時,剩下f(n-1)種走法,當第二步走了兩級臺階時,剩下f(n-2)種走法。
#include<stdio.h>int sumn(int n){if (n == 2 || n == 1) # 當只有一階臺階和二階臺階時的情況我們是已知的return n;elsereturn sumn(n-1) + sumn(n-2); # 遞歸主體 }int main(){int n ;scanf("%d", &n); printf("%d", sumn(n)); return 0; }臺階問題屬于經典的遞歸問題,很多遞歸問題都是類似的解法和模板,已知前幾項的值,后面幾項的值又與前面的值有關,就可以使用這個模板進行套用。
總結
- 上一篇: 税后利润是净利润吗 净利润就是税后利润吗
- 下一篇: 打印字符串(C语言,全排列)