问题标题: 酷町堂:1196 超级台阶

0
0
已解决
王子健
王子健
初级天翼
初级天翼

错误代码:

#include <iostream>
#include <cstdio>
using namespace std;
int a[50];
int main() {
    long long n, m;
    cin >> n;
    while (n--) {
        a[1] = 1;
        a[2] = 1;
        cin >> m;
        for (int i=3; i<=m; i++) {
            a[i] = a[i-1] + a[i-2];
        }
        cout << a[m] << endl;
    }
    return 0;
}

80分,哈哈


0
已采纳
刘英杰
刘英杰
新手天翼
新手天翼

你的具体错误在于:你的m如果等于1,那么输出的还是a[1],然而这个下标对应的值是1

题目说从1台阶到1台阶只有0种,只要在内循环里添加一个if语句,如果本次输入的m不等于1,则按照a[m]输出并换行

如果本次输入的m等于1,那么就直接输出0并换行

0
我要回答