题意:
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
思路:
如何到第n阶台阶,只能从n-1和n-2台阶
上去,那么只需要计算到n-1阶台阶
和到n-2阶台阶
即可
代码:
#includeusing 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\n", a[n]); } return 0;}