#include <stdio.h>
// 再帰関数:第n項を求める
int fib(int n) {
if (n == 0 || n == 1)
return 1; // a0 = 1, a1 = 1
else
return fib(n - 1) + fib(n - 2); // an = an-1 + an-2
}
int main(void) {
int n;
// 入力:非負の整数 n
printf("非負の整数 n を入力してください: ");
// 出力:第n項
printf("a_%d = %d\n", n
, fib
(n
));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDlho3luLDplqLmlbDvvJrnrKxu6aCF44KS5rGC44KB44KLCmludCBmaWIoaW50IG4pIHsKICAgIGlmIChuID09IDAgfHwgbiA9PSAxKQogICAgICAgIHJldHVybiAxOyAgICAgICAgICAgICAgIC8vIGEwID0gMSwgYTEgPSAxCiAgICBlbHNlCiAgICAgICAgcmV0dXJuIGZpYihuIC0gMSkgKyBmaWIobiAtIDIpOyAvLyBhbiA9IGFuLTEgKyBhbi0yCn0KCmludCBtYWluKHZvaWQpIHsKICAgIGludCBuOwoKICAgIC8vIOWFpeWKm++8mumdnuiyoOOBruaVtOaVsCBuCiAgICBwcmludGYoIumdnuiyoOOBruaVtOaVsCBuIOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDogIik7CiAgICBzY2FuZigiJWQiLCAmbik7CgogICAgLy8g5Ye65Yqb77ya56ysbumghQogICAgcHJpbnRmKCJhXyVkID0gJWRcbiIsIG4sIGZpYihuKSk7CgogICAgcmV0dXJuIDA7Cn0K