思路:
按照斐波那契数列的通项公式,可以用3个变量,一个保存当前求得的结果,两个保存求得此结果的项,循环可得任意一个项。
#include<stdio.h>
int fibonacci(int n)
{
int f1 = 0;
int f2 = 1;
int f = 0;
if(n == 0)
return 0;
if(n == 1)
return 1;
int i = 2;
for(i = 2; i<=n; i++)
{
f = f1 + f2;
f1 = f2;
f2 = f;
}
return f;
}
int main()
{
int n;
scanf("%d",&n);
int tmp = fibonacci(n);
printf("%d\n", tmp);
return 0;
}