// fibonacci.c : ÇǺ¸³ªÄ¡(Fibonacci) ¼ö¿­ ¾Ë°í¸®Áò
  // ¾Æ·¡ÀÇ ¾Ë°í¸®ÁòÀº ÀÚ¿¬¼ö¸¦ ÀԷ¹޾Ƽ­ ±× ¼öº¸´Ù ÀÛÀº ¼ö(ȤÀº °°Àº¼ö)±îÁöÀÇ 
  // ÇǺ¸³ªÄ¡ ¼ö¿­À» Ãâ·ÂÇØ ÁÝ´Ï´Ù. ÇǺ¸³ªÄ¡ ¼ö¿­ÀÇ Á¤ÀÇ´Â F(1) = 0,  F(2) = 1,
  // F(n) = F(n-1) + F(n-2) (n>=3)ÀÔ´Ï´Ù. ±×·¡¼­ Á¦1Ç×°ú Á¦2Ç×Àº ¿¹¿ÜÀ̱⠶§¹®¿¡
  // if¹®À» ÀÌ¿ëÇØ¼­ Á¤ÀǸ¦ ÇØÁÖ¾ú°í, 3Ç׺ÎÅÍ´Â ÀϹÝÇ×ÀÇ ½ÄÀ» µû¸£µµ·Ï Çß½À´Ï´Ù.
  // 3Ç×ÀÌÈÄÀÇ °ªÀ» ±¸ÇÏ´Â °úÁ¤¿¡ ´ëÇØ¼­ °£´ÜÈ÷ ¾ð±ÞÇϸé, ±¸ÇϰíÀÚ ÇÏ´Â Ç׺¸´Ù 
  // 1ÀÛÀº Ç×°ú 2ÀÛÀº Ç×À» ¼­·Î ´õÇÕ´Ï´Ù. ±×·¯´Ï±î Á¦3Ç×Àº 0°ú 1ÀÇ ÇÕÀÌ µË´Ï´Ù.
  // ±×·± ´ÙÀ½ ±¸ÇØÁø °ªÀº 1ÀÛÀº Ç×À¸·Î Çϰí, ¹Ù·Î Àü¿¡ 1ÀÛÀº Ç×À̾ú´ø °ªÀ» 2ÀÛÀº 
  // Ç×À¸·Î ÇØ¼­ À§ÀÇ °úÁ¤À» ¹Ýº¹ÇÕ´Ï´Ù. 
 
  #include <stdio.h>
 
  void fibonacci(int n);
 
  void main()
  {
          int num;
 
          printf("Insert the number : ");
          scanf("%d", &num);
 
          fibonacci(num);
          printf("\n");
  }
 
  void fibonacci(int n)
  {
          int n1 = 0, n2 = 1, n3;
          if(n == 0) printf("%d", n1);
          else if(n == 1) printf("%d", n2);
          else {
                  printf("%d %d ", n1, n2);
                  while(1) {
                          n3 = n1 + n2;
                          if( n3 > n)
                                  break;
                          printf("%d ", n3);
                          n1 = n2;
                          n2 = n3;
                  }
          }
  }