如何输出大数的fibonacci数列?分别用递推,递归的算法实现
//递归算法
long long Fibonacci(unsigned int n)
{
if (n < 0)
return 0;
if (n == 1)
return 1;
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
//非递归算法
long long Fibonacci(unsigned int n)
{
int result[2] = { 0,1 };
if (n < 2)
return result[n];
long long fibone = 1;
long long fibtwo = 0;
long long fibn = 0;
for (unsigned int i = 2; i <= n; i++)
{
fibn = fibone + fibtwo;
fibtwo = fibone;
fibone = fibn;
}
return fibn;
}