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