您的位置:首页 > 其它

斐波那契数列递归实现和非递归实现

2013-12-09 13:56 274 查看
#include <stdio.h>

//斐波那契数列递归实现
int fibonacci_recurise(int n)
{
if(n == 1 || n == 2)
return 1;
else
return fibonacci_recurise(n - 1) + fibonacci_recurise(n - 2);
}

//斐波那契数列非递归实现
int fibonacci_nonrecurise(int n)
{
int x = 1, y = 1;
int i,z;
if(n == 1 || n == 2)
return 1;
else
{
for(i = 3; i <= n; i++)
{
z = y + x;
x = y;
y = z;
}
return z;
}
}

int main()
{
int i,j,n;
scanf("%d",&n);

for(i = 1; i <= n; i++)
printf("%d ",fibonacci_recurise(i));

printf("\n");

for(j = 1; j <= n; j++)
printf("%d ",fibonacci_nonrecurise(j));

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: