피보나치 수란? (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으로 초기화한다.
'ETC > Algorithm' 카테고리의 다른 글
[leetcode]102. Binary Tree Level Order Traversal (이진트리, BFS) (0) | 2024.11.26 |
---|---|
점근적 표기법과 빅오(Big O) 표기법 (0) | 2024.11.24 |
성적 객체에서 최고점, 최저점 뽑기 (1) | 2024.02.11 |
팩토리얼 알고리즘 (0) | 2024.02.11 |