HDU

题意:

有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?

思路:

如何到第n阶台阶,只能从n-1和n-2台阶上去,那么只需要计算到n-1阶台阶到n-2阶台阶即可

代码:

#include<iostream>
using namespace std;

const int maxn = 50;
int a[maxn];

void init() {
	a[1] = 1;
	a[2] = 1;
	a[3] = 2;
	for(int i = 4; i <= maxn-1; i++) {
		a[i] = a[i-1] + a[i-2];
	}
}

int main() {
	init();
	int t, n;
	scanf("%d", &t);
	while(t--) {
		scanf("%d", &n);
		printf("%d
", a[n]);
	}		
	return 0;
}
原文地址:https://www.cnblogs.com/somliy/p/9718422.html