1190:上臺階
時間限制: 1000 ms 內存限制: 65536 KB
提交數: 17719 通過數: 4957
【題目描述】
樓梯有n(71>n>0)階臺階,上樓時可以一步上1階,也可以一步上2階,也可以一步上3階,編程計算共有多少種不同的走法。
【輸入】
輸入的每一行包括一組測試數據,即爲臺階數n。最後一行爲0,表示測試結束。
【輸出】
每一行輸出對應一行輸入的結果,即爲走法的數目。
【輸入樣例】
1 2 3 4 0
【輸出樣例】
1 2 4 7
【解法】
//http://ybt.ssoier.cn:8088/problem_show.php?pid=1190
#include <iostream>
using namespace std;
const int N=73; //要用long long
long long c[N+1]={0}; //count
long long countN(int n)
{
c[0]=c[1]=1,c[2]=2;
for(int i=3;i<=N;i++)
{
c[i]=c[i-1]+c[i-2]+c[i-3];
}
return c[n];
}
int main()
{
int n;
countN(N);
while(cin>>n && n>0 && n<=N)
{
cout<<c[n]<<endl;
}
return 0;
}