您的位置:首页 > 其它

实现斐波那契数列的递归、非递归及尾递归。

2017-12-06 16:06 246 查看
非递归

int Fib(k)
{
int a = 0;
int b = 1;
int c = 0;
int i = 0;
if (k < 2)
{
return k;
}
for (i = 2; i <= k; i++)
{
c = a + b;
a = b;
b = c;
}
return c;
}


递归:

int Fib(k)
{
int i = 0;
if (k < 2)
{
return k;
}
else
{
return Fib(k - 1) + Fib(k - 2);
}
return;
}


尾递归

int Fib(int first, int second, int k)
{
if (k==1||k == 2)
{
return 1;
}
if (k == 3)
{
return first + second;
}
return Fib(second, first + second,k-1);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: