はまやんはまやんはまやん

hamayanhamayan's blog

テトラナッチ数列 Easy [yukicoder No.657]

https://yukicoder.me/problems/no/657

解法

https://yukicoder.me/submissions/240568

与えられるnの値の最大が10^6なので、テトラナッチ数列を事前に全て計算しておこう。
すると、あとは対応する数列を答えるだけ。
事前計算できるものは、どんなものでも事前計算が想定解なのが多い。

int T[1010101];
//---------------------------------------------------------------------------------------------------
void _main() {
    T[1] = 0;
    T[2] = 0;
    T[3] = 0;
    T[4] = 1;

    rep(i, 5, 1010101) {
        T[i] = (T[i - 1] + T[i - 2] + T[i - 3] + T[i - 4]) % 17;
    }

    int Q; cin >> Q;
    rep(q, 0, Q) {
        int n; cin >> n;
        printf("%d\n", T[n]);
    }
}