#include <stdio.h>
int main(void) {
// 漸化式の初期値 (a1 = 1, a2 = 2)
int a1 = 1;
int a2 = 2;
int an;
int n = 4; // 求めたい項数(初期値は4)
// 第3項から第n項まで計算するループ
for (int i = 3; i <= n; i++) {
// 漸化式: an = -6 * a_{n-1} - 9 * a_{n-2}
an = -6 * a2 - 9 * a1;
// 【修正のポイント】古い値を順にズラしていく
a1 = a2; // 先に a1 に古い a2 の値を移す
a2 = an; // その後、a2 に新しい計算結果 an を入れる
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CiAgICAvLyDmvLjljJblvI/jga7liJ3mnJ/lgKQgKGExID0gMSwgYTIgPSAyKQogICAgaW50IGExID0gMTsKICAgIGludCBhMiA9IDI7CiAgICBpbnQgYW47CiAgICBpbnQgbiA9IDQ7IC8vIOaxguOCgeOBn+OBhOmgheaVsO+8iOWIneacn+WApOOBrzTvvIkKCiAgICBwcmludGYoImFfMSA9ICVkXG4iLCBhMSk7CiAgICBwcmludGYoImFfMiA9ICVkXG4iLCBhMik7CgogICAgLy8g56ysM+mgheOBi+OCieesrG7poIXjgb7jgafoqIjnrpfjgZnjgovjg6vjg7zjg5cKICAgIGZvciAoaW50IGkgPSAzOyBpIDw9IG47IGkrKykgewogICAgICAgIC8vIOa8uOWMluW8jzogYW4gPSAtNiAqIGFfe24tMX0gLSA5ICogYV97bi0yfQogICAgICAgIGFuID0gLTYgKiBhMiAtIDkgKiBhMTsKICAgICAgICAKICAgICAgICAvLyDjgJDkv67mraPjga7jg53jgqTjg7Pjg4jjgJHlj6TjgYTlgKTjgpLpoIbjgavjgrrjg6njgZfjgabjgYTjgY8KICAgICAgICBhMSA9IGEyOyAvLyDlhYjjgasgYTEg44Gr5Y+k44GEIGEyIOOBruWApOOCkuenu+OBmQogICAgICAgIGEyID0gYW47IC8vIOOBneOBruW+jOOAgWEyIOOBq+aWsOOBl+OBhOioiOeul+e1kOaenCBhbiDjgpLlhaXjgozjgosKICAgICAgICAKICAgICAgICBwcmludGYoImFfJWQgPSAlZFxuIiwgaSwgYW4pOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==