#include <stdio.h>
int c=0;
//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 = 5;
int result=rec(n);
printf("数列a%dの値は%d\nrecが呼び出された回数は%d回\n", n
, result
,c
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBjPTA7Ci8vYXtufSA9IC02YXtuLTF9IC05YXtuLTJ9LCBhezF9PTEsIGF7Mn09Mijlho3luLDjgYLjgorniYgpCmludCByZWMoaW50IG4pewoJYysrOwoJaWYobj09MSl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlIGlmKG49PTIpewoJCXJldHVybiAyOwoJfQoJZWxzZXsKCQlyZXR1cm4gLTYqcmVjKG4tMSktOSpyZWMobi0yKTsKCX0KCn0KCmludCBtYWluKHZvaWQpIHsKICAgIGludCBuID0gNTsKICAgIGludCByZXN1bHQ9cmVjKG4pOwogICAgcHJpbnRmKCLmlbDliJdhJWTjga7lgKTjga8lZFxucmVj44GM5ZG844Gz5Ye644GV44KM44Gf5Zue5pWw44GvJWTlm55cbiIsIG4sIHJlc3VsdCxjKTsKCXJldHVybiAwOwp9Cgo=