#include <stdio.h>
//a{n} = -6a{n-1} -9a{n-2}, a{1}=1, a{2}=2(再帰あり版)
int count;
int rec(int n){
if(n==1){count++;
return 1;
}
else if(n==2){count++;
return 2;}
else{count++;
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",count
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Ci8vYXtufSA9IC02YXtuLTF9IC05YXtuLTJ9LCBhezF9PTEsIGF7Mn09Mijlho3luLDjgYLjgorniYgpCmludCBjb3VudDsKaW50IHJlYyhpbnQgbil7CgppZihuPT0xKXtjb3VudCsrOwogcmV0dXJuIDE7Cn0KZWxzZSBpZihuPT0yKXtjb3VudCsrOwogcmV0dXJuIDI7fQplbHNle2NvdW50Kys7CnJldHVybiAtNipyZWMobi0xKS05KnJlYyhuLTIpOwp9Cgp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgbiA9IDQ7CiAgICBwcmludGYoIuaVsOWIl2ElZOOBruWApOOBryVkXG4iLCBuLCByZWMobikpOwpwcmludGYoIuOBk+OBruOBqOOBjeOBrnJlY+OBruWRvOOBs+WHuuOBl+WbnuaVsOOBryVkIixjb3VudCk7CglyZXR1cm4gMDsKfQoK