I code, therefore I exist.

웹 프론트 엔드 개발을 공부하고 있는 Ocean이라고 합니다. 만나서 반갑습니다.

ETC/Algorithm

피보나치 수열

Ocean 2024. 2. 11. 14:39

피보나치 수란? (Fibonacci Numbers)

첫째 및 둘째 항이 1이며, 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다.

처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다.

 

다음 코드는 첫째 항에서 50번째 항 까지의 피보나치 수를 구하는 알고리즘이다.

// for문을 사용한 피보나치 수열

let previous = 0;
let current = 1;

for(let i = 1; i <= 50; i++){
    console.log(current); // 반복문이 시작될 때 현재 항의 값을 출력한다.
    let temp = previos; // 바로 이전의 항을 나타내는 previous를 temp에 저장한다.
    previous = current; // 출력했던 현재 값을 이전 값으로 저장한다.
    current = temp + current; // 현재 값 + 이전 값(temp)를 저장한 후 반복문을 끝낸다.
}

 

// while문을 사용한 피보나치 수열

let i = 1;
let previous = 0;
let current = 1;

while(i <= 50){
    console.log(current);
    let temp = previous;
    previous = current;
    current += temp;
}

 

현재 항의 위치는 반복문의 제어 변수인 i를 사용하고,

첫번째 항의 이전 값은 없으므로 0으로 초기화한다.