#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;
printf("a%dの値は %d\n", n
, rec
(n
)); printf("rec関数の呼び出し回数 %d回\n", c
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgYyA9IDA7CgppbnQgcmVjKGludCBuKXsKICAgIGMrKzsgCiAgICBpZihuID09IDEpewogICAgICAgIHJldHVybiAxOwogICAgfQogICAgZWxzZSBpZihuID09IDIpewogICAgICAgIHJldHVybiAyOwogICAgfQogICAgZWxzZXsKICAgICAgICByZXR1cm4gLTYgKiByZWMobiAtIDEpIC0gOSAqIHJlYyhuIC0gMik7CiAgICB9Cn0KCmludCBtYWluKHZvaWQpewogICAgaW50IG47CiAgICBzY2FuZigiJWQiLCAmbik7CiAgICBwcmludGYoImElZOOBruWApOOBryAlZFxuIiwgbiwgcmVjKG4pKTsKICAgIHByaW50ZigicmVj6Zai5pWw44Gu5ZG844Gz5Ye644GX5Zue5pWwICVk5ZueXG4iLCBjKTsKCiAgICByZXR1cm4gMDsKfQ==