int FeiBoNaQie::Fibonacci(int n)
{
//方案一:用递归做的,当n的值比较大,大于38 时运行时间为1秒多,
//n越大,越耗时越多
//if (0 == n)
//{
// return 0;
//}
//if (1 == n||2==n)
//{
// return 1;
//}
//return (Fibonacci(n - 1) + Fibonacci(n-2));
//方案二,用迭代
int num1 = 1, num2 = 1;
if (0 == n)
{
return 0;
}
if (1 == n || 2 == n)
{
return 1;
}
while (n-- > 2)
{
num1 += num2;
num2 = num1-num2;
}
return num1;
}
{
//方案一:用递归做的,当n的值比较大,大于38 时运行时间为1秒多,
//n越大,越耗时越多
//if (0 == n)
//{
// return 0;
//}
//if (1 == n||2==n)
//{
// return 1;
//}
//return (Fibonacci(n - 1) + Fibonacci(n-2));
//方案二,用迭代
int num1 = 1, num2 = 1;
if (0 == n)
{
return 0;
}
if (1 == n || 2 == n)
{
return 1;
}
while (n-- > 2)
{
num1 += num2;
num2 = num1-num2;
}
return num1;
}