斐波那契數列和爬樓梯問題
阿新 • • 發佈:2019-01-29
n階樓梯,每次爬一階或者兩階,求總共有多少中方法爬n階樓梯?
#include "stdafx.h"
#include <iostream>
using namespace std;
int louti(int n)
{
int a[30]={0},b[30]={1},c[30];//申請陣列用於儲存結果
int max=30; //能求出的結果位數最大為30位,可任意設定
int j,k=0;
for(int i=1;i<=n;++i) //輸入樓梯數為n,遍歷n次
{
for(j=0;j<30 ;j++)
{
int m=a[j]+b[j]+k;
c[j]=m%10;
k=m/10;
a[j]=b[j];
b[j]=c[j];
}
}
while(c[max])
{
max--;
}
for(max-1;max>=0;--max) //過濾掉前導0
if(c[max]) break; ***********
for(max;max >=0;--max)
cout<<c[max];
return 0;
}
int main()
{
int m;
cout<<"輸入樓梯階數";
cin>>m;
louti(m);
getchar();
getchar();
return 0;
}