피보나치 수열 계산기
인덱스 n(0~70)을 입력하면 F(n), F(n−1), 황금비 φ ≈ 1.61803으로 수렴하는 비율, 전체 수열을 계산합니다.
입력
결과
이 계산기로 할 수 있는 것
피보나치 수열은 0과 1로 시작하여 각 항이 앞 두 항의 합이 되는 수열로, F(n) = F(n−1) + F(n−2) 점화식으로 정의됩니다. 이 계산기는 인덱스 n(0~70)을 입력하면 F(n), F(n−1), 황금비로 수렴하는 비율 F(n)/F(n−1), F(0)부터 F(n)까지의 전체 수열을 계산합니다.
피보나치 수열이란?
피보나치 수열은 0과 1로 시작하여 각 항이 앞 두 항의 합인 수열입니다.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
정의: F(0) = 0, F(1) = 1, n ≥ 2일 때 F(n) = F(n−1) + F(n−2).
명칭은 13세기 이탈리아 수학자 레오나르도 다 피사(피보나치, 약 1170–1250)에서 유래합니다. 그는 1202년 저서 *산반의 책(Liber Abaci)*에서 토끼 번식 모델로 이 수열을 소개했습니다. 그러나 인도 수학에서는 산스크리트 운율론의 맥락에서 수백 년 앞서 동일한 수열이 기술되어 있었습니다.
계산 방법
이 계산기는 재귀 정의 대신 반복문을 사용합니다. F(0) = 0, F(1) = 1에서 출발하여 매 단계 앞 두 항을 더하면 n − 1번의 덧셈으로 F(n)에 도달합니다. 시간 복잡도는 O(n)이며, 단순 재귀의 지수적 폭발을 피합니다.
지원 최대 인덱스는 n = 70입니다. F(70) = 190,392,490,709,135는 자바스크립트 64비트 부동소수점(IEEE 754 double)으로 정확히 표현할 수 있는 가장 큰 피보나치 수입니다. n = 71 이상은 안전 정수 한계 2⁵³을 초과하여 반올림 오차가 생깁니다.
계산 예시
입력: n = 12
| n | F(n) |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
| 4 | 3 |
| 5 | 5 |
| 6 | 8 |
| 7 | 13 |
| 8 | 21 |
| 9 | 34 |
| 10 | 55 |
| 11 | 89 |
| 12 | 144 |
결과: F(12) = 144, F(11) = 89, 비율 = 144/89 ≈ 1.61797753.
참고로 144 = 12²는 완전제곱수입니다. 피보나치 수 중 완전제곱수는 0, 1, 144뿐임이 수학적으로 증명되어 있습니다(Ljunggren 정리).
황금비와의 관계
n이 커질수록 F(n) / F(n−1)은 황금비 φ에 수렴합니다.
| n | F(n) | F(n)/F(n−1) |
|---|---|---|
| 5 | 5 | 1.66667 |
| 10 | 55 | 1.61765 |
| 20 | 6,765 | 1.61803 |
| 30 | 832,040 | 1.61803399 |
n = 20에서 이미 소수점 여섯 자리까지 φ와 일치합니다. 황금비는 정오각형의 대각선과 변의 비, 해바라기 씨앗 나선(34줄과 55줄), 나뭇가지 분기 패턴 등 자연계와 예술 분야에서 광범위하게 등장합니다.
비네의 공식
비네의 공식은 반복 없이 F(n)을 직접 표현합니다.
여기서 은 황금비이고, 은 그 켤레입니다.
|ψ| < 1이므로 ψⁿ은 n이 증가할수록 0에 가까워집니다. 따라서 n ≥ 1에서 F(n)은 에 가장 가까운 정수와 같습니다. 수학적으로 우아한 공식이지만 부동소수점 연산을 기반으로 하여 큰 n에서 정밀도가 떨어지므로, 이 계산기는 반복법으로 정확한 정수 결과를 제공합니다.
자연과 과학에서의 피보나치 수열
피보나치 수열은 다양한 분야에서 관찰됩니다.
- 식물학: 많은 꽃의 꽃잎 수가 피보나치 수(3, 5, 8, 13 등)입니다. 해바라기 씨앗 머리는 보통 34줄과 55줄의 반대 방향 나선을 이룹니다.
- 엽서(葉序): 잎과 가지가 φ와 관련된 각도(약 137.5°, 황금각)로 배열되어 햇빛을 최대한 흡수합니다.
- 컴퓨터 과학: 그래프 알고리즘에서 사용되는 자료 구조 '피보나치 힙'은 이 수열에서 이름을 따왔습니다. 단순 재귀 피보나치 계산은 지수 시간 복잡도의 고전적 예시로 알고리즘 교육에서 자주 활용됩니다.
- 기술적 분석: 피보나치 되돌림 수준(23.6%, 38.2%, 61.8%)은 주식·외환 차트 분석에 널리 쓰이지만, 예측 정확도에 대해서는 논란이 있습니다.
자주 묻는 질문 (FAQ)
피보나치 수열이란 무엇입니까?
피보나치 수열은 각 항이 바로 앞 두 항의 합인 수열입니다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, … 로 이어지며, 정의는 F(0) = 0, F(1) = 1, n ≥ 2일 때 F(n) = F(n−1) + F(n−2)입니다. 13세기 이탈리아 수학자 레오나르도 다 피사(피보나치, 약 1170–1250)가 1202년 저서 『산반의 책(Liber Abaci)』에서 토끼 번식 문제로 소개한 것이 유래이나, 인도 수학에서는 산스크리트 운율론의 맥락에서 수백 년 먼저 기술되어 있었습니다.
피보나치 수열과 황금비는 어떤 관계입니까?
n이 커질수록 연속하는 피보나치 수의 비 F(n) / F(n−1)은 황금비 φ = (1 + √5) / 2 ≈ 1.6180339887에 수렴합니다. n = 10에서 이미 1.61765이며, n = 20에서는 소수점 여섯 자리까지 일치합니다. 이 관계는 정오각형의 대각선과 변의 비, 해바라기 씨앗의 나선 배열, 나뭇가지 분기 패턴 등 자연계 곳곳에서 나타납니다.
비네의 공식이란 무엇입니까?
비네의 공식은 F(n) = (φⁿ − ψⁿ) / √5로 반복 계산 없이 n번째 피보나치 수를 직접 구합니다. φ = (1 + √5)/2 ≈ 1.61803이 황금비이고, ψ = (1 − √5)/2 ≈ −0.61803이 그 켤레입니다. |ψ| < 1이므로 ψⁿ은 n이 커질수록 0에 가까워지며, n ≥ 1에서 F(n)은 φⁿ / √5에 가장 가까운 정수와 일치합니다. 우아한 공식이지만 부동소수점 연산을 사용하므로 큰 n에서는 오차가 생길 수 있어, 이 계산기는 반복법을 사용합니다.
이 계산기는 몇 번째 항까지 계산할 수 있습니까?
n = 0부터 70까지 지원합니다. F(70) = 190,392,490,709,135는 자바스크립트의 64비트 부동소수점(IEEE 754 double)으로 정확히 표현할 수 있는 가장 큰 피보나치 수입니다. F(71) 이상은 안전 정수 한계 2⁵³ = 9,007,199,254,740,992를 초과하여 반올림 오차가 발생하므로, n = 70을 상한으로 설정하였습니다.