1. 程式人生 > >*寒假水6——超級樓梯

*寒假水6——超級樓梯



有一樓梯共M級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第M級,共有多少種走法?

Input輸入資料首先包含一個整數N,表示測試例項的個數,然後是N行資料,每行包含一個整數M(1<=M<=40),表示樓梯的級數。Output對於每個測試例項,請輸出不同走法的數量Sample Input

2
2
3

Sample Output

1
2
答案如下:
#include<iostream>
using namespace std;
void chen();
int sha[40];
int main()
{
 int i,n,m;
 int a[1000];
 cin>>n;
 chen();
    for(i=0;i<n;i++)
 {
  cin>>a[i];
 }
 for(i=0;i<n;i++)
 {
  cout<<sha[a[i]-2]<<endl;
 }
}
void chen()
{
 int i;
 sha[0]=1;
 sha[1]=2;
 for(i=2;i<40;i++)
 {
  sha[i]=sha[i-1]+sha[i-2];
 }
}
題解:符合斐波那契數列規律