단원:
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
'프로그래밍 > C,C++' 카테고리의 다른 글
[명품 C++ programming]2,3장 실습문제 (0) | 2022.01.06 |
---|---|
[ANSI C 프로그래밍]13장 프로그래밍 연습 (0) | 2022.01.06 |
[ANSI C 프로그래밍]8,9장 프로그래밍 연습 (0) | 2022.01.06 |
[ANSI C 프로그래밍]5,6,7장 프로그래밍 연습 (0) | 2022.01.06 |
[ANSI C 프로그래밍]2,3,4장 프로그래밍 연습 (0) | 2022.01.06 |