#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인것을 아는것과 같습니다.

Posted by 정훈승