题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明刚刚看完电影《第 39 级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是 39 级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上 1 个或 2 个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完 39 级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
递归搜索树,符合情况计数,最后cout即可
#include <iostream>
using namespace std;
int cnt;
void f(int n, int step) {
if(n < 0) return ;
if(n == 0 && step % 2 == 0)
cnt++;
f(n - 1, step + 1);
f(n - 2, step + 1);
}
int main()
{
f(39, 0);
cout << cnt;
return 0;
}