1.递归:
int Fib(int n)
{
if (n <= 2)
return n = 1;
else
return Fib(n - 1) + Fib(n - 2);//递归因此会多次重复计算某一个值,拖慢了运行速度
}
int main()
{
int n;
scanf("%d", &n);
int ret = Fib(n);
printf("%d", ret);
return 0;
}
2.循环:
int Fib(int n)
{
int a = 1;
int b = 1;
int c=2;
if (n < 3)
return 1;
while (n > 3)
{
a = b;
b = c;
c = a + b;
n--;
}
return c;
}
int main()
{
int n;
scanf("%d", &n);
int ret = Fib(n);
printf("%d", ret);
return 0;
}