如果一个人可以一次上一个台阶或者一次上两个台阶,求出如果有n个台阶,则这个人一共有多少种走法?
a) 控制台输入台阶总数n;
b)控制台输出一共多少种走法
#include <iostream>
using namespace std;
long long foo(int N)
{
if(N==0 || N==1)
return 1;
long long *tmp = new long long[N+1];
tmp[0] = 1;
tmp[1] = 1;
for(int i = 2;i<=N;i++)
{
tmp[i] = tmp[i-1]+tmp[i-2];
}
return tmp[N];
}
int main()
{
cout<<"Please enter a number:"<<endl;
int n;
cin>>n;
cout<<"The result is: "<<foo(n)<<endl;
getchar();
getchar();
}