#include <stdio.h>
int fib(int n) {
int i;
int a_1 = 0, a_2 = 1, a_3;
if(n==1)
return 0;
else if(n==2)
return 1;
for(i=3;i<n;i++){
a_3=2*a_2+a_1+1;
a_1=a_2;
a_2=a_3;
}
return a_2;
}
int main(void) {
int n;
printf("第 %d 項の値:%d\n", n
, fib
(n
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgZmliKGludCBuKSB7CiAgICBpbnQgaTsKICAgIGludCBhXzEgPSAwLCBhXzIgPSAxLCBhXzM7CiAgICBpZihuPT0xKQogICAgcmV0dXJuIDA7CiAgICBlbHNlIGlmKG49PTIpCiAgICByZXR1cm4gMTsKICAgZm9yKGk9MztpPG47aSsrKXsKICAgCWFfMz0yKmFfMithXzErMTsKICAgCWFfMT1hXzI7CiAgIAlhXzI9YV8zOwogICB9CiAgIHJldHVybiBhXzI7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIGludCBuOwoKICAgIHNjYW5mKCIlZCIsICZuKTsKICAgIHByaW50Zigi56ysICVkIOmgheOBruWApO+8miVkXG4iLCBuLCBmaWIobikpOwogICAgcmV0dXJuIDA7Cn0=