2013第四屆藍橋杯C第39級臺階 (遞歸)

【題目】

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

站在臺階前,他忽然又想着一個問題:spa

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

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

要求提交的是一個整數。
注意:不要提交解答過程,或其它的輔助說明文字。
遞歸

【思路】(答案51167078)

遞歸經典問題,出口處判斷是否是偶數步。it

 1 #include<bits/stdc++.h>
 2 using namespace std;  3 int ans=0;  4 
 5 void f(int n,int step){  6     if(n<0) return;  7     if(n==0&&step%2==0) {  8         ans++; return;//要return  9  } 10     f(n-1,step+1); 11     f(n-2,step+1);//注意這裏是+1 12 } 13 int main(){ 14     f(39,0); 15     cout<<ans; 16 }
相關文章
相關標籤/搜索