#include <stdio.h>
int count = 0;
int rec(int n) {
count++;
if (n == 1){
return 2;
}
else if (n == 2){
return 3;
}
else return 2 * rec(n - 1) + rec(n - 2);
}
int main(void) {
int n;
int ans = rec(n);
printf("数列aの第%d項の値は%d\n", n
, ans
); printf("このときrecの呼び出し回数は%d回です。\n", count
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBjb3VudCA9IDA7CmludCByZWMoaW50IG4pIHsKICAgIGNvdW50Kys7ICAKCiAgICBpZiAobiA9PSAxKXsKICAgICAgICAgIHJldHVybiAyOwogICAgfQogICAgZWxzZSBpZiAobiA9PSAyKXsKICAgICAgICAgIHJldHVybiAzOwogICAgfQogICAgZWxzZSByZXR1cm4gMiAqIHJlYyhuIC0gMSkgKyByZWMobiAtIDIpOwp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgbjsKICAgIHByaW50ZigibuOBruWApOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDogIik7CiAgICBzY2FuZigiJWQiLCAmbik7CgogICAgaW50IGFucyA9IHJlYyhuKTsKICAgIHByaW50Zigi5pWw5YiXYeOBruesrCVk6aCF44Gu5YCk44GvJWRcbiIsIG4sIGFucyk7CiAgICBwcmludGYoIuOBk+OBruOBqOOBjXJlY+OBruWRvOOBs+WHuuOBl+WbnuaVsOOBryVk5Zue44Gn44GZ44CCXG4iLCBjb3VudCk7CgogICAgcmV0dXJuIDA7Cn0K