39階台階問題

2021-07-25 14:40:22 字數 742 閱讀 3332

39級台階問題

小明看完電影《第39級台階》,離開電影院的時候,他數了數視覺的台階數,恰好是39級。

站在台階前,他突然又想起乙個問題:如果我每一步只能邁上1個或2個台階,先邁左腳,然後左右交替,最後一步邁右腳,也就是說一共要邁偶數步。那麼,上完39級台階,有多少種不同的上法呢?

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

39階台階:

一共是走了39階台階,並且走了偶數步

所以對於每一步進行構造,遍歷所有可能情況

因為步數除卻偶數之外,並無其他約束,所以判斷到達解空間的方式為

偶數步並且台階數為39

每一步都有兩種可能,在進行遞迴的過程中進行兩種情況的分別遞迴

到達解空間滿足條件即為一種方案

#include int count=0;

int step=0;

//step是台階數,count是方案數

void dfs(int t)

//一步走兩個台階

step+=2;

if(step<=39)

dfs(t+1);

step-=2;

//一步走乙個台階

step+=1;

if(step<=39)//剪枝操作,繼續走的條件是已經走的台階數小於39

dfs(t+1);

step-=1;

}int main()

第39階台階

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

第39階台階

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

第39階台階

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