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 }
相关文章
相关标签/搜索