#include <stdio.h>
//a{n} = -6n{n-1} -9n{n-2}, a{1}=1, a{2}=2(再帰あり版)
int c;
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;
printf("数列a%dの値は%d\n",n
,rec
(n
)); printf("このときrecの呼び出し回数は%d",c
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Ci8vYXtufSA9IC02bntuLTF9IC05bntuLTJ9LCBhezF9PTEsIGF7Mn09Mijlho3luLDjgYLjgorniYgpCmludCBjOwppbnQgcmVjKGludCBuKXsKCWMrKzsKCWlmKG4gPT0gMSl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlIGlmKG4gPT0gMil7CgkJcmV0dXJuIDI7Cgl9CgllbHNlewoJCXJldHVybiAtNipyZWMobi0xKSAtOSpyZWMobi0yKTsKCX0KCQp9CgppbnQgbWFpbih2b2lkKSB7CglpbnQgbiA9IDU7CglwcmludGYoIuaVsOWIl2ElZOOBruWApOOBryVkXG4iLG4scmVjKG4pKTsKCXByaW50Zigi44GT44Gu44Go44GNcmVj44Gu5ZG844Gz5Ye644GX5Zue5pWw44GvJWQiLGMpOwoJcmV0dXJuIDA7Cn0K