#include <stdio.h>
int c = 0; // グローバル変数
int rec(int n){
c++; // recが呼ばれるたびに1増やす
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;
printf("数列a%dの値は%d\n", n
, rec
(n
)); printf("このときrecの呼び出し回数は%d\n", c
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBjID0gMDsgICAvLyDjgrDjg63jg7zjg5Djg6vlpInmlbAKCmludCByZWMoaW50IG4pewogICAgYysrOyAgICAgIC8vIHJlY+OBjOWRvOOBsOOCjOOCi+OBn+OBs+OBqzHlopfjgoTjgZkKCiAgICBpZihuID09IDEpCiAgICAgICAgcmV0dXJuIDE7CiAgICBlbHNlIGlmKG4gPT0gMikKICAgICAgICByZXR1cm4gMjsKICAgIGVsc2UKICAgICAgICByZXR1cm4gLTYgKiByZWMobiAtIDEpIC0gOSAqIHJlYyhuIC0gMik7Cn0KCmludCBtYWluKHZvaWQpewoKICAgIGludCBuID0gNTsKCiAgICBwcmludGYoIuaVsOWIl2ElZOOBruWApOOBryVkXG4iLCBuLCByZWMobikpOwogICAgcHJpbnRmKCLjgZPjga7jgajjgY1yZWPjga7lkbzjgbPlh7rjgZflm57mlbDjga8lZFxuIiwgYyk7CgogICAgcmV0dXJuIDA7Cn0=