藍橋杯真題 39級台階 題解

2021-08-16 10:22:22 字數 1042 閱讀 4012

題目:

小明剛剛看完電影《第39級台階》。離開電影院的時候,他數了數禮堂前的台階數,恰好是39級!

站在台階前,他突然又想著乙個問題:

如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?

請你利用計算機的優勢,幫助小明尋找答案。

思路1:

用dfs;遞迴深度為左右腳的總次數,步數可為1 or 2,遞迴出口為邁出的總台階數等於39,判斷條件是 左右腳的總步數為偶數。

思路2:

用兩個函式互相呼叫;左腳每次邁出的步數為乙個函式,右腳每次邁出的步數為乙個函式,遞迴出口為邁出的總台階數等於39,判斷條件在邁完右腳後判斷總台階數等於39。

答案:51167078

思路1 code:

#include

using namespace std;

int cnt;

void dfs(int

sum,int num)

if(sum == 39 && num % 2 != 0) return ;

if(sum > 39) return ;

dfs(sum + 1, num + 1);

dfs(sum + 2, num + 1);

}int main()

思路2 code

#include

using namespace std;

int cnt = 0;

void left(int

sum);

void right(int

sum);

void left(int

sum)

if(sum > 39) return ;

right(sum + 1);

right(sum + 2);

return ;

}void right(int

sum)

int main()

藍橋杯 39級台階

小明剛剛看完電影 第39級台階 離開電影院的時候,他數了數禮堂前的台階數,恰好是39級。站在台階前,他突然又想著乙個問題 如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?請你利用計算機的優勢,幫助小明尋...

藍橋杯 第39級台階

小明剛剛看完電影 第39級台階 離開電影院的時候,他數了數禮堂前的台階數,恰好是39級 站在台階前,他突然又想著乙個問題 如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?請你利用計算機的優勢,幫助小明尋...

藍橋杯 第39級台階

小明剛剛看完電影 第39級台階 離開電影院的時候,他數了數禮堂前的台階數,恰好是39級 站在台階前,他突然又想著乙個問題 如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?請你利用計算機的優勢,幫助小明尋...