#include <stdio.h>
int c ;
//a{n} = -6a{n-1} -9a{n-2}, a{1}=1, a{2}=2(再帰あり版)
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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBjIDsKLy9he259ID0gLTZhe24tMX0gLTlhe24tMn0sIGF7MX09MSwgYXsyfT0yKOWGjeW4sOOBguOCiueJiCkKaW50IHJlYyhpbnQgbil7CiAgICBjKys7CiAgICBpZihuID09IDEpewogICAgICAgIHJldHVybiAxOwogICAgfQogICAgZWxzZSBpZihuID09IDIpewogICAgICAgIHJldHVybiAyOwogICAgfQogICAgZWxzZXsKICAgICAgICByZXR1cm4gLTYqcmVjKG4tMSktOSpyZWMobi0yKTsKICAgIH0KfQppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgbiA9IDQ7CiAgICBwcmludGYoIuaVsOWIl2ElZOOBruWApOOBryVkXG4iLCBuLCByZWMobikpOwogICAgcHJpbnRmKCLjgZPjga7jgajjgY1yZWPjga7lkbzjgbPlh7rjgZflm57mlbDjga8lZFxuIiwgYyk7CiAgICByZXR1cm4gMDsKfQ==