```
#include <iostream>
using namespace std;
int number,d[41]={0};//d[i]表示第i个台阶种数状态
int main() 
{
    int n,i;
    cin>>n;
    d[1]=1;d[2]=2;
    for(i=3;i<=n;i++)
    d[i]=d[i-1]+d[i-2];//状态转移方程为i-1跳一阶和i-2跳2阶的状态之和
    cout<<d[n];
}
```