본문 바로가기
C Programming/예제 프로그램

[C Console] 피보나치 수열을 구하는 프로그램

by 희품 2018. 12. 11.
반응형

안녕하세요, 프로그래밍 언어 첫 테스트 글을 올려보고 있어요.

첫 글로 당첨된 소재는 피보나치 수열의 원리를 가지고 있는 예제 프로그램이에요.

예제 코드가 필요하신 분을 결론을 먼저 쓰고, 설명이나  써보는 방식으로 시작을 해보려고 합니다.

해야지, 해야지 하다가  블로그 글이 밀려서 다시 죽어가고 있어서 이대로는 안 되겠다는 생각이 들더라고요.


피보나치 수열이란, 바로 앞 두 수를 합한 것이 그 사람 다음 수가 되는 수열을 의미해요. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144로 진행되는 수열이죠. 규칙 자체는 단순한데, 1+1=2, 2+3=5, 3+5=8 이렇게 진행된다고 보시면 됩니다.

C언어 프로그램은 반복문 예제에서 많이 쓰이는 예제인데요, 아래와 같이 간단한  구현해 놓은 예제입니다.

20항까지 피보나치 수열을 구하는 C언어 피보나치 수열 코드 입니다.

재귀함수를 이용하여 호출하는 방법도 있는데, 여기서는 간단히 반복문을 사용한 예제를 보여드리고 있어요.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 피보나치 수열을 구하는 알고리즘
/* 20항까지의 피보나치 수열의 합 */
#include <stdio.h>
int main(void)
{
int F[20], sum;
int n=0;
F[0]=0;
F[1]=1;
sum=F[0]+F[1];
printf("1 번째 항: %d\n", F[0]);
printf("2 번째 항: %d\n", F[1]);
while(n<18)
{
F[n+2]=F[n]+F[n+1];
F[n]=F[n+1];
F[n+1]=F[n+2];
printf("%d 번째 항: %d\n", n+3, F[n+1]);
sum+=F[n+1];
n++;
}
    printf("20항 까지의 합 : %d\n", sum);
    return 0;
}


우리 일상생활 주변 자연에서 많이 보이는 황금비율이 피보나치 수열로 이루어져 있다는 사실 ? 꽃잎, 식물의 잎, 달팽이, 소라, 앵무조개, 귓바퀴 등의  나타나는 규칙이라고 해요.

12세기 말 이탈리아의 수학자 레오나르도 피보나치(Fibonacci)가 제안해서 이름이 피보나치 수열이 되었는데요, 이런 단순한 규칙이 자연에  적용되어있다는 게 정말 신기한 것 같아요. 그래서 이 황금비율을 사용해 인위적으로 작품을 만든 것들이 피라미드, 미켈란젤로, 다빈치의 작품이나 파르테논 신전 등이 있고, 생태계와 생활용품에 알게 모르게 널리 사용되고 있어요.

놀랍게도 태풍이나 은하수의 형태에서도 있고,  황금비가 존재한다고 합니다.


코딩이나 수학 그 자체가 아닌, 가끔은 이렇게 자연의 신비함을 생각해보는 것도 좋은 것 같다는 생각이 드네요.

반응형