여행을 개발하다

피보나치 수열(Fibonacci Numbers) 본문

BackEnd/C++

피보나치 수열(Fibonacci Numbers)

yhtragramming 2019. 5. 8. 23:49

안녕하세요!

 

오늘 포스팅의 주제는 '피보나치 수열(Fibonacci Numbers)'!

지금까지 공부했던 제어문들과 함수를 사용하여,

C++에서 피보나치 수열을 구현해보고자 합니다.


고등학교 2학년 수학 시간, 여러가지 종류의 수열을 처음 접했는데요.

기억을 되새겨 보시면 피보나치 수열은 다음과 같은 규칙을 가지고 있습니다.

 

1, 1, 2, 3, 5, 8, 13, 21 .....

 

n번째 항의 값은 n-1과 n-2의 값을 합한 값이 되어 수열을 이루게 됩니다.

즉, 3번째 항인 2는, 첫 번째 항인 1과 두 번째 항인 2가 더해진 값이 됩니다.

그리고 4번째 항인 3은, 두 번째 항인 1과 세 번째 항인 3이 더해진 값이 됩니다.

 

이를 공식화하면 다음과 같습니다.

 

그럼 위의 공식들을 이용하여 C++에 피보나치 수열을 구현해보도록 하겠습니다.

 

1. 변수 선언

자료형

변수

의미

int

a

첫 번째 항의 값, 1

b

두 번째 항의 값, 2

n

수열의 개수 n의 값

int (배열)

fibo_array

n항까지의 숫자를 저장할 동적 할당 array

첫 번째 항, 두 번째 항의 값을 저장하는 변수 a와 b,

1부터 n까지를 더한다고 가정했을 때, n의 값을 입력 받을 변수를 선언합니다.

 

그리고 cout 명령을 이용하여 n을 입력하라는 내용을 출력하고,

cin 명령어로 n을 입력 받아 n에 저장합니다.

 

그리고 각 항을 저장할 배열 'fibo_array'를 선언하고,

n개의 인수를 저장할 수 있는 동적 할당 배열을 만듭니다.

fibo_array[0]에는 첫 번째 항의 값인 1을 입력,

 

fibo_array[1]에는 두 번째 항의 값인 1을 입력,

 

fibo_array[2]에는 세 번째 항의 값인 2를 입력하여 array의 앞 부분을 완성합니다.

fibo_array[3]부터는 for문을 사용하여 채워나가도록 하겠습니다.

- for문에서만 유효한 임시 정수형 변수 i를 선언하고,

- 3번째 array라는 점에서 초기값을 3으로 설정합니다.

- 이는 i가 n보다 작을 때까지 반복하고,

- i의 증가치는 +1로 설정합니다.

- fibo_array[i]는 i-1번째 배열과 i-2번째 배열의 값을 합한 값으로 저장합니다.

ⓗ 이제는 완성된 배열을 출력할 시간입니다. 각 배열의 값은 ','으로 구분하여 출력합니다.

맨 마지막 배열의 값은 ','을 빼고 출력해야하므로, if ~ else 문을 사용하여 줄 바꿈으로 처리하겠습니다.

실행 결과 10개의 수열이 정상적으로 출력되는 것을 확인할 수 있습니다.

 

지금까지 C++을 이용하여 피보나치 수열을 구현해보았습니다.

감사합니다 : )

'BackEnd > C++' 카테고리의 다른 글

제어문6. do ~ while문  (0) 2019.05.09
제어문5. while  (0) 2019.05.09
제어문4. 다중 for문  (0) 2019.05.08
제어문3. for  (0) 2019.05.08
제어문2. Switch  (0) 2019.05.08
Comments