#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 = 5;
int result = rec(n);
printf("数列のa%dの値は%d\n", n
, result
); printf("rec関数の呼び出し回数: %d回\n", c
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBjID0gMDsKaW50IHJlYyhpbnQgbil7CiAgICAgYysrOwogICAgaWYobiA9PSAxKXsKICAgICAgICByZXR1cm4gMTsKICAgIH0KICAgIGVsc2UgaWYgKG4gPT0gMil7CiAgICAgICAgcmV0dXJuIDI7CiAgICB9CiAgICBlbHNlewogICAgICAgIHJldHVybiAtNipyZWMobi0xKSAtOSpyZWMobi0yKTsKICAgIH0KfQoKaW50IG1haW4odm9pZCkgewogICAgaW50IG4gPSA1OwogICAgaW50IHJlc3VsdCA9IHJlYyhuKTsKICAgIHByaW50Zigi5pWw5YiX44GuYSVk44Gu5YCk44GvJWRcbiIsIG4sIHJlc3VsdCk7CiAgICBwcmludGYoInJlY+mWouaVsOOBruWRvOOBs+WHuuOBl+WbnuaVsDogJWTlm55cbiIsIGMpOwoKCXJldHVybiAwOwp9Cg==