Fibonacci (斐波那契数列)-循环,递归实现方式
#include<stdio.h>
long fibonacci(int );
long fibonacci_loop(int );
int main(void)
{
int n, m ,i ;
m = n = i=0 ;
printf("Please inpu a number: \n");
scanf("%d",&m);
//循环实现
printf("Fibonacci sequence is : ");
fibonacci_loop(m);
printf("\n");
//递归实现
printf("Fibonacci sequence is : ");
for(n=1; n<=m ; n++)
printf("%ld ",fibonacci(n));
printf("\n");
return 0 ;
}
//循环
long fibonacci_loop(int num )
{
int i , k1 ,k2 ,temp;
k1 = k2=1;
for(i=0;i<num; i++)
{
if(i==0)
printf("%d ",k1);
else
{
temp = k1 + k2;
k1 = k2;
k2 = temp;
printf("%ld ",k1);
}
}
return 0 ;
}
//递归
long fibonacci(int num )
{
if(num>2)
{
return fibonacci(num-1)+fibonacci(num-2) ;
}
else
{
return 1 ;
}
}
本文深入探讨了斐波那契数列的两种实现方式:循环和递归,并通过示例代码展示如何用C语言实现这两种方法。详细解释了循环实现的逻辑流程以及递归实现的递归过程,旨在帮助读者理解和掌握斐波那契数列的不同编程技巧。
5406

被折叠的 条评论
为什么被折叠?



