
수학 시간에 한번 쯤은 들어봤을 것이다.

첫번째 항과 두번째 항을 더하면 세번째 항이 되고,
두번째 항과 세번째 항을 더하면 네번째 항이 되는 수열이다.
즉, n번째 항 더하기 n+1번째 항은 n+2번째 항이라는 것이다.
반복문을 활용하여 피보나치 수열의 첫 50개 항을
차례대로 출력하는 프로그램을 만들어보자!
let current = 1;
let previous = 0;
for (let i = 1; i <= 50; i++) {
console.log(current);
let temp = previous;
previous = current;
current = current + temp;
}
let previous = 0;
let current = 1;
let i = 1;
while (i <= 50) {
console.log(current);
let temp = previous;
previous = current;
current = current + temp;
i++;
}
피보나치 수열의 항은 앞선 두 항의 합으로 계산하니까
앞선 두 항을 변수에 보관해둬야겠다!
현재항과 직전항을 따로 저장해두는 변수를 만들어야지.
previous = current;
current = previous + current;
이렇게 작성하고 보니, current 값과 previous 값이 같아져서
저장해 둔 previous값이 없어지잖아?
그럼 직전항을 임시로 저장해두는 임시 저장소 temp 를 변수로 선언해야겠다!⭐️
현재항과 직전항을 저장해두기 위해 변수 current와 previous를 선언합니다.
첫 50개의 항을 차례로 출력하기 위한 반복문을 작성합니다.
직전항의 값을 임시 저장소 temp 에 저장해두고,
current 값을 previous 변수에 할당합니다.
임시 보관소에 저장해둔 직전항의 값 + current 값 = 현재항 current 가 출력됩니다.
n을 파라미터로 받은 뒤, n번째 항까지의 피보나치 수열을 출력하는 함수이다.
let previous = 0
let current = 1
function fibonacciSequence(n) {
for (let i = 1; i <= n; i++) {
console.log(current);
temp = previous;
previous = current;
current = temp + current;
}
}
fibonacciSequence(50) //50번째 항까지의 피보나치 수열 출력