#include <stdio.h>
int fibo1 ( int n ); //순환함수
int fibo2 ( int n ); //반복함수
void main ( )
{
int result1, result2, num; //순환함수 결과값, 반복함수 결과값, n값
printf("피보나치 수열구하기... \n숫자를 입력하세용^^ : ");
scanf("%d",&num);
result1 = fibo1 ( num );
result2 = fibo2 ( num );
//결과 출력
printf("순환함수 수행결과 : f(%d) = %d\n반복함수 수행결과 : f(%d) = %d\n", num, result1, num, result2);
}
int fibo1 ( int n )
{
if ( n == 0 || n == 1 )
return n;
else
return fibo1 ( n - 1 ) + fibo1 ( n - 2 );
}
int fibo2 ( int n )
{
int f1 = 0;
int f2 = 1;
int i;
int fibonacci;
if( n == 0 || n ==1 )
{
return n;
}
else
{
for( i = 2 ; i <= n ; i++ )
{
fibonacci = f1 + f2;
f1 = f2;
f2 = fibonacci;
}
return fibonacci;
}
}
// 아주 기초적인 소스입니다. 이정도면 C를 모르는 사람도 마치 1+1이 2인것을 아는것과 같습니다.