Fibonacci (斐波那契數列)-循環,遞歸實現方式

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 ;
	}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章