#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;
c = 0;
int result = rec(n);
printf("数列a%dの値は %d\n", n
, result
); printf("このときrecの呼び出し回数は %d\n", c
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgYyA9IDA7CgppbnQgcmVjKGludCBuKXsKCgljKys7CgkKCWlmKG4gPT0gMSl7CgkJcmV0dXJuIDE7Cgl9IGVsc2UgaWYobiA9PSAyKXsKCQlyZXR1cm4gMjsKCX0gZWxzZSB7CgkJcmV0dXJuIC02ICogcmVjKG4gLSAxKSAtIDkgKiByZWMobiAtIDIpOwoJfQp9CgppbnQgbWFpbih2b2lkKSB7CglpbnQgbiA9IDU7CgljID0gMDsKCQoJaW50IHJlc3VsdCA9IHJlYyhuKTsKCQoJcHJpbnRmKCLmlbDliJdhJWTjga7lgKTjga8gJWRcbiIsIG4sIHJlc3VsdCk7CglwcmludGYoIuOBk+OBruOBqOOBjXJlY+OBruWRvOOBs+WHuuOBl+WbnuaVsOOBryAlZFxuIiwgYyk7CgkKCXJldHVybiAwOwp9Cg==