#include <stdio.h>
int c=0;
int rec(int n){
c++;
if(n==1){
return 2;
}
else if(n==2){
return 3;
}
else if(n==3){
return -4;
}
else{
return 2*rec(n-1)-rec(n-2)+rec(n-3);
}
}
int main(void) {
int n;
c=0;
int result=rec(n);
printf("数列a%dの値は%d\n",n
,result
); printf("この時recの呼び出し回数は%d\n",c
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgoJaW50IGM9MDsKCglpbnQgcmVjKGludCBuKXsKCQljKys7CgkJaWYobj09MSl7CgkJCXJldHVybiAyOwoJCX0KCQllbHNlIGlmKG49PTIpewoJCQlyZXR1cm4gMzsKCQl9CgkJZWxzZSBpZihuPT0zKXsKCQkJcmV0dXJuIC00OwoJCX0KCQllbHNlewoJCQlyZXR1cm4gMipyZWMobi0xKS1yZWMobi0yKStyZWMobi0zKTsKCQl9Cgl9CQoKCmludCBtYWluKHZvaWQpIHsKCWludCBuOwoJc2NhbmYoIiVkIiwmbik7CgljPTA7CgkKCWludCByZXN1bHQ9cmVjKG4pOwoJcHJpbnRmKCLmlbDliJdhJWTjga7lgKTjga8lZFxuIixuLHJlc3VsdCk7CglwcmludGYoIuOBk+OBruaZgnJlY+OBruWRvOOBs+WHuuOBl+WbnuaVsOOBryVkXG4iLGMpOwoJcmV0dXJuIDA7Cn0K