1. 程式人生 > >斐波那契數列和爬樓梯問題

斐波那契數列和爬樓梯問題

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; }