[JS] 피보나치 수열

Jeongwon Seo·2021년 7월 30일
0

JS/Node

목록 보기
3/16

피보나치 수열이란 첫째 및 둘째 항이 1이며(첫째 항이 0, 둘째 항이 1로 정의할 수도 있다) 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열을 의미한다. 그러니까 대략 이렇게 된다고 할 수 있다.

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

이를 점화식으로 쓰면 다음과 같다.

F(n) = F(n-1) + F(n-2)
(단, n>=2인 자연수, F(0)=0, F(1)=1)

fibonacci(num) 함수는 수를 입력받아서 num번째까지 총 num+1개의 피보나치수열을 리턴하는 함수라고 정의하자.
그러면 위의 점화식을 활용하여 코드를 작성할 수 있다. 본 함수를 작성하기 위한 수도 코드는 다음과 같다.

  1. 결과를 담을 fiboNum 변수를 선언하고 빈 배열로 할당한다.
  2. fiboNum의 0번째 인덱스에는 0을, 1번째 인덱스에는 1을 할당한다.
  3. 반복문을 이용하여 위의 점화식을 정의한다.
  4. fiboNum 배열을 리턴한다.(단, 0부터 num+1번째 인덱스 전까지 리턴한다)

위의 수도코드를 바탕으로 코드를 적고 결과를 출력해보았다. 위의 수열과 비교해보기 바란다.

profile
피트는 구덩이라는 뜻이다 구덩이를 파다보면 좋은 것이 나오겠지 (아싸 벡스룬)

0개의 댓글