题目描述
一个楼梯有 n 级台阶,小苏同学从下往上走,一步可以跨 1 级,也可以跨 2 级,也可以跨 3 级。
问:他走到第 n 级楼梯有多少种走法?
输入格式
一行一个整数n(1≤n≤105) 。
输出格式
一行一个数,为小苏同学走到第 n 级台阶的方案数。
结果可能很大,请输出对 1000000007 取模后的结果。
样例 #1
样例输入 #1
100
样例输出 #1
347873931
代码如下
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+4;
long long x,f[N];
int main()
{
cin>>x;
f[0]=1;
f[1]=1;
f[2]=2;
for(int i=3;i<=x;i++)
{
f[i]=f[i-1]+f[i-2]+f[i-3];
f[i]%=1000000007;
}
cout<< f[x];
return 0;
}