프로그래밍/C,C++

[ANSI C 프로그래밍]10장 프로그래밍 연습

수학가형 2022. 1. 6. 16:42

단원:

10. 사용자정의함수

 

[프로그래밍 연습 10.5]피보나치 수열은 다음과 같이 재귀적으로 표현이 된다.

F(1) =1

F(2) = 1

F(n) = F(n-1) + F(n-2) , n > 2

배열을 이용하여 n 개의 피노나치 수를 생성하는 함수를 작성하고, n = 5, 10, 15 때의 사용예를 보여라.

코드:

#include<stdio.h>
 
int fibonacci(int m)
{
         int i;
         static int fibo[100];  //기존 배열의 초기화를 막기위해 static 사용
         if (m < 2)
         {
                  fibo[m] = 1;
                  return (fibo[m]);
         }
         else if (m >= 2)
         {
                  for (i = 2; i <= m; i++)
                           fibo[i] = fibo[i - 1] + fibo[i - 2];  //피보나치 수열식
                  return (fibo[m]);
         }
}
 
main()
{
         int i, k = 0;
         scanf("%d", &k);
         k--;
         printf("1부터 %d까지 피보나치 수열은: ", k+1);
         for(i=0 ; i<=k ; i++)
                  printf("%d ", fibonacci(i));
         printf("\n");
}

 


문제 소스:

책정보, ANSI C 프로그래밍 : 네이버 책 (naver.com)

 

ANSI C 프로그래밍

책으로 만나는 새로운 세상

book.naver.com