【題目】
小明剛剛看完電影《第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 }