第39級臺階問題

題目


分析

剛開始認爲左腳右腳也有關係,仔細讀了遍題,看了下網上的分析,才明白。

簡單描述下問題:有39級臺階,每次可以上一個或者兩個,走完臺階剛好走的是偶數步有多少種走法。

類似問題:青蛙跳臺階問題

先不考慮是偶數步還是奇數步,看看每次走一個臺階或兩個臺階有多少種走法,設臺階個數爲n。

  1. 第一步走一個臺階,則剩下n-1個臺階的走法
  2. 第一步走兩個臺階,剩下n-2個臺階的走法
  3. 當n = 1時,只有一種走法,那就是走一個臺階
  4. 當n = 2時,兩種走法,可以一次上去,也可以一個一個上去
  5. n = 0時,0種走法

列出公式:

再看問題要求:計算走完臺階後剛好是偶數步有多少種走法,需要再加一個變量來記錄步數,還需要一個變量來記錄走法數量,當步數爲偶數時,走法➕1⃣️。

碼兒:

#include <stdio.h>

int count = 0;	// 走法計數器

void fun(int taijie, int bushu)	// 臺階,步數
{
    if(taijie < 0)
    {
        return;
    }
    if(taijie == 0)
    {
        if(bushu%2 == 0)
        {
            count++;
        }
        return;
    }
    
    fun(taijie-1, bushu+1);
    fun(taijie-2, bushu+1);
}

int main(int argc, const char * argv[])
{
    fun(39, 0);	// 臺階,步數
    
    printf("%d\n", count);
    
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章