上台阶(信息学奥赛一本通-1190)

【题目描述】

楼梯有n(0

【输入】

输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。

【输出】

每一行输出对应一行输入的结果,即为走法的数目。

【输入样例】

1
2
3
4
0

【输出样例】

1
2
4
7

【题解代码】

#include
using namespace std;

#define int long long
int a[80];

signed main()
{
	a[1] = 1, a[2] = 2, a[3] = 4;
	for (int i = 4; i <= 70; i++)
	{
		a[i] = a[i - 1] + a[i - 2] + a[i - 3];
	}

	int n;
	while (cin >> n && n != 0)
	{
		cout << a[n] << endl;
	}

	return 0;
}

你可能感兴趣的:(信息学奥赛一本通,算法)