您的位置:首页 > 其它

斐波那契的两种实现方法

2015-05-10 16:34 134 查看
#include <stdio.h>

int fib(int n)
{
int a = 1;
int b = 1;
int c = a = b;
int i = 0;
for (i = 3; i <= n; i++)
{
c = a + b;
a = b;
b = c;
}
return c;
}
int main()
{
printf("%d\n", fib(10000));
getchar();
return 0;
}

非递归方法

#include <stdio.h>
int fib(int n)
{
int count = 0;
if (n <= 2)
return 1;
else if (n == 4)
count++;
else
return fib(n - 2) + fib(n - 1);
}
int main()
{
printf("%d\n", fib(10000));
getchar();
return 0;
}


递归实现方法

总结:递归的效率较循环等方法,效率较低,尤其数值较大时,效率极慢,且易造成栈溢出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: