#include <stdio.h>
// グローバル変数
int c = 0;
int rec(int n) {
c++;
if (n == 1) {
return 1;
}
else if (n == 2) {
return 2;
}
else {
return -6 * rec(n-1) - 9 * rec(n-2);
}
}
int main(void) {
int n = 4;
printf("数列a%dの値は%d\n", n
, rec
(n
)); printf("このときrecの呼び出し回数は%d\n", c
);
return 0;
}
CiNpbmNsdWRlIDxzdGRpby5oPgoKLy8g44Kw44Ot44O844OQ44Or5aSJ5pWwCmludCBjID0gMDsKCmludCByZWMoaW50IG4pIHsKICAgIGMrKzsKICAgIGlmIChuID09IDEpIHsKICAgICAgICByZXR1cm4gMTsKICAgIH0KICAgIGVsc2UgaWYgKG4gPT0gMikgewogICAgICAgIHJldHVybiAyOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgcmV0dXJuIC02ICogcmVjKG4tMSkgLSA5ICogcmVjKG4tMik7CiAgICB9Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIGludCBuID0gNDsKCiAgICBwcmludGYoIuaVsOWIl2ElZOOBruWApOOBryVkXG4iLCBuLCByZWMobikpOwogICAgcHJpbnRmKCLjgZPjga7jgajjgY1yZWPjga7lkbzjgbPlh7rjgZflm57mlbDjga8lZFxuIiwgYyk7CgogICAgcmV0dXJuIDA7Cn0K