总时间限制: 2000ms 单个测试点时间限制: 1000ms 内存限制: 512kB 描述 小明爬楼梯,他能够每次走1级或者2级,输入楼梯的级数,求不一样的走法数。ios
例如:楼梯一共有3级,他能够每次都走一级,或者第一次走一级,第二次走两级;也能够第一次走两级,第二次走一级,一共3种方法。测试
输入 输入包含若干行正整数,第一行正整数K表明数据组数;后面K行,每行包含一个正整数N,表明楼梯级数,1 <= N <= 30 输出 不一样的走法数,每一行输入对应一行输出spa
#include<iostream> using namespace std; int f(int n){ // if(n==1){ // return 1; // }else if(n==2){ // return 2; // }else{ // return f(n-1)+f(n-2); // } int tmp[n+1]; tmp[1] = 1; tmp[2] = 2; for(int i=3;i<=n;i++){ tmp[i] = tmp[i-1]+tmp[i-2]; } return tmp[n]; } int main(){ int K; cin>>K; // f(n) = f(n-1) + f(n-2) for(int i=0; i<K; i++){ int n; cin>>n; cout<<f(n)<<endl; } return 0; }