题目描述
小明面前有n级台阶,如果要求同时满足两个约束条件:①每步1阶或2阶;②必须是偶数步。那么小明从0阶上到n级台阶共有多少种不同的方案数?
输入
输入一个正整数n。
输出
输出同时满足两个条件,上到n级台阶的不同方案数。
样例输入
39
样例输出
51167078
代码:
#include <stdio.h>
//采用列表格的方法一目了然
int odd(int n)//到n阶台阶奇数步的方案数
{
if(n==1||n==2)return 1;
return (even(n-1)+even(n-2));
}
int even(int n)//到n阶台阶偶数步的方案数
{
if(n==1)return 0;
if(n==2)return 1;
return (odd(n-1)+odd(n-2));
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",even(n));//输出对应的方案数
return 0;
}