动态规划:假设当前台阶是i,那么i台阶可以从所有比i小的台阶跳上来

#include <cstring>
using namespace std;

int t,n;
int f[35];

int main(){
    scanf("%d",&t);
    while(t--){
        scanf("%d",&n);
        for(int i=1;i<=n;i++) f[i]=1;  //每个台阶都可以一次跳到i
        for(int i=1;i<=n;i++){
            for(int j=1;j<i;j++){
                if(i!=j) f[i]+=f[j];
            }
        }
        printf("%d\n",f[n]);
    }
    return 0;
}