피보나치 계산기 — N번째 항과 수열
위치 N을 입력하면 해당 항의 정확한 피보나치 수를 구하거나, 수열 모드로 전환하여 피보나치 수열의 처음 N개 수를 표시할 수 있습니다. 임의 정밀도 정수를 사용하여 결과를 항상 정확하게 계산합니다.
위에 숫자 N을 입력하여 계산하세요.
작동 방식
피보나치 수열: 정의와 역사
피보나치 수열은 두 가지 단순한 규칙으로 정의됩니다. 처음 두 항은 0과 1이며, 이후 각 항은 앞의 두 항의 합입니다. 이렇게 하면 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 와 같은 수열이 만들어집니다. 규칙은 단순해 보이지만, 이 수들은 수학, 컴퓨터 과학, 자연계 전반에 걸쳐 수백 년 동안 학자들을 매료시키는 방식으로 나타납니다.
이 수열은 피보나치로 알려진 피사의 레오나르도의 이름을 따서 명명되었습니다. 그는 1202년 저서 《리베르 아바치》에서 토끼 개체 수 증가의 모델로 이 수열을 서유럽에 소개했습니다. 그러나 이 수열은 몇 세기 전에 산스크리트 운율을 연구하던 인도 수학자들—비라항카, 고팔라, 헤마찬드라—이 음절 패턴을 세면서 이미 발견했습니다. 따라서 피보나치 수열은 알려진 가장 오래된 정수 수열 중 하나입니다.
연속된 피보나치 수의 비는 황금비 φ ≈ 1.61803…으로 수렴합니다. 이는 기하학, 예술, 미학과 깊은 연관이 있는 무리수입니다. N이 커질수록 F(N+1)/F(N)은 φ에 더욱 가까워집니다. 이러한 수렴성이 해바라기 씨앗 배열, 솔방울 나선, 앵무조개 껍데기에 피보나치 나선이 나타나는 이유를 설명합니다—이 형태들은 재료를 최소화하면서 충전 효율을 극대화하는 방식으로 성장합니다.
큰 피보나치 수를 정확하게 계산하기
JavaScript의 표준 Number 타입은 64비트 부동소수점 값을 저장하며, 2^53 ≈ 9천조까지의 정수만 정확하게 표현할 수 있습니다. 피보나치 수는 지수적으로 증가하여—F(79)는 이미 2^53을 초과—큰 N에 대해 일반 부동소수점 연산은 잘못된 결과를 냅니다. 이 도구는 JavaScript 내장 BigInt 타입을 사용하여 가용 메모리에만 제한되는 임의 크기의 정수를 지원하며, F(1)부터 F(100)까지 모든 결과가 정확합니다.
F(100) = 354,224,848,179,261,915,075으로 21자리 숫자입니다. 비교하면, 관측 가능한 우주의 원자 수 추정치는 약 10^80이며, F(382) ≈ 10^79입니다. 피보나치 수는 φ^N/√5에 근사하게 증가하므로 각 항은 이전 항보다 약 61.8% 더 큽니다.
피보나치 수에는 닫힌 형식의 공식이 있습니다(비네 공식은 황금비의 거듭제곱을 사용하지만), φ가 무리수이기 때문에 큰 N에서 정확한 결과를 얻으려면 임의 정밀도 연산이 필요합니다. 이 도구가 사용하는 반복 방법—연속 항을 단순히 더하는 것—은 수천 이하의 N에 대해 정확하고 효율적입니다.
피보나치 수의 응용
컴퓨터 과학에서 피보나치 수는 알고리즘 분석에 나타납니다. 유클리드 알고리즘(최대공약수 계산)의 최악의 경우 입력은 연속된 피보나치 수입니다. Dijkstra의 최단 경로 알고리즘에 사용되는 자료 구조인 피보나치 힙은 그 구조의 경계가 수열과 관련되어 있어 이 수열의 이름을 따서 명명되었습니다. 피보나치 탐색도 분할 정복 탐색 전략으로 사용됩니다.
소프트웨어 엔지니어링에서 피보나치 수는 애자일 개발의 스토리 포인트 척도로 널리 사용됩니다: 1, 2, 3, 5, 8, 13. 비선형 간격은 더 큰 작업을 추정할 때 불확실성이 증가함을 반영합니다—인접한 피보나치 수 사이의 눈에 띄는 차이는 추정자가 모호한 선택의 한쪽을 결정하게 하여 거짓 정밀도를 줄입니다.
자연계에서 식물의 잎차례—식물의 잎, 꽃잎, 씨앗의 배열—는 종종 피보나치 수를 따릅니다. 해바라기는 일반적으로 시계 방향으로 55개, 반시계 방향으로 89개의 나선이 있으며, 아티초크는 8개와 13개입니다. 이러한 배열은 식물이 이전 기관에서 약 137.5°(황금각)의 위치에 새 기관을 추가하는 성장 패턴에서 나타나며, 이는 황금비 φ와 직접 관련이 있습니다.
자주 묻는 질문
›F(0)은 0인가요, 1인가요?
가장 일반적인 현대 관례에 따르면(이 도구에서 사용), F(0)=0, F(1)=1, F(2)=1, F(3)=2, … 입니다. 일부 오래된 문헌은 F(1)=1, F(2)=1에서 시작하여 모든 인덱스를 하나씩 이동시킵니다.
›왜 이 도구는 N=100으로 제한되나요?
F(100)은 이미 21자리 숫자입니다. 100을 넘으면 값이 매우 긴 문자열이 되어 이 맥락에서 실용적 사용이 제한됩니다. F(100) 이상의 값이 필요하다면, 반복 BigInt 로직을 확장할 수 있으며—알고리즘은 동일합니다.
›큰 N에 대한 결과가 정확한가요?
네. 이 도구는 JavaScript BigInt를 사용하여 부동소수점 반올림 오류 없이 임의 크기의 정수를 처리합니다. F(1)부터 F(100)까지의 모든 결과는 수학적으로 정확합니다.
›황금비는 무엇이며 피보나치와 어떤 관계가 있나요?
황금비 φ ≈ 1.61803…는 x²=x+1의 양의 근입니다. N이 증가하면서 연속 피보나치 수의 비 F(N+1)/F(N)은 φ로 수렴합니다. F(20)/F(19)=6765/4181≈1.61803로, 이미 소수점 이하 5자리까지 정확합니다.
›피보나치 수열과 뤼카 수열은 같은가요?
아닙니다. 뤼카 수열은 같은 점화식을 사용하지만(각 항이 앞 두 항의 합) L(0)=2, L(1)=1에서 시작하여 2, 1, 3, 4, 7, 11, 18, … 이 됩니다. 피보나치 수열과 많은 성질을 공유하며 둘 다 φ로 수렴합니다.
›피보나치 수는 자연계 어디에 나타나나요?
피보나치 수는 해바라기의 나선 수(보통 55와 89개), 솔방울(보통 8과 13개), 파인애플에서 나타납니다. 식물이 약 137.5°(황금각)의 각도로 새 기관을 추가하기 때문으로, 황금각은 φ에서 유도되어 최적의 배열을 만들어냅니다.
›피보나치 수는 얼마나 빠르게 증가하나요?
피보나치 수는 지수적으로 증가하며, 약 φ^N/√5에 근사합니다. 각 항은 이전 항의 약 1.618배입니다. F(10)=55, F(20)=6,765, F(50)=12,586,269,025, F(100)=354,224,848,179,261,915,075입니다.
›왜 애자일 스토리 포인트에 피보나치 수를 사용하나요?
피보나치 척도(1, 2, 3, 5, 8, 13, 21)는 인접한 값 사이의 간격이 점점 커져서 팀이 '중간' 작업과 '큰' 작업을 구분하도록 강제하기 때문에 사용됩니다. 이 비선형 간격은 본질적으로 불확실한 작업을 추정할 때 거짓 정밀도를 줄입니다.
관련 도구
최종 업데이트: