피보나치 수열 생성기
처음 N개의 피보나치 수 — 0, 1, 1, 2, 3, 5, 8 … — 를 큰 정수로 정확하게 생성하고, 마지막 항, 누적 합, 마지막 두 항의 황금비 근삿값을 보여줍니다.
사용법
- 생성할 항의 개수를 입력합니다 (1부터 1000까지).
- 마지막(N번째) 항, 나열된 모든 항의 합, 황금비 근삿값을 확인합니다.
- 전체 수열을 스크롤하고 한 번에 복사합니다.
- 10개 항(0, 1, 1, 2, 3, 5, 8, 13, 21, 34 — 합 88)으로 출력을 확인해 보세요.
자세한 설명
펼치기접기
수열은 0, 1로 시작하고 그 뒤의 모든 항은 앞의 두 항을 더한 값입니다. 몇 개까지 원하는지 입력하면 전부 나열해 주고, 마지막 항과 누적 합, 그리고 마지막 두 항의 비를 함께 보여 줍니다. 그 비가 바로 황금비 φ ≈ 1.618034로 수렴하는 수입니다. 모든 계산은 임의 정밀도 정수로 이뤄지므로 백 번째든 천 번째든 반올림이 아니라 정확한 값입니다.
그 정확함이야말로 스프레드시트 대신 도구를 쓸 이유 전부입니다. 피보나치 수는 배정도 연산의 범위를 금방 넘어섭니다. F(78)은 8,944,394,323,791,464로 배정도가 정확히 담을 수 있는 53비트 안에 아직 들어오지만, F(79)는 14,472,334,024,676,221로 들어오지 못합니다. 그 지점부터 부동소수점으로 계산하는 계산기는 그럴듯해 보이면서 끝자리가 틀린 수를, 아무 경고 없이 돌려줍니다. F(100)은 354,224,848,179,261,915,075로 스물한 자리이고, F(1000)은 209자리입니다.
φ로의 수렴은 빠르고, 출력에서 지켜볼 만합니다. 오차는 부호를 번갈아 가며 매 단계 φ² ≈ 2.618배씩 줄어듭니다. 열 번째 항에서 약 1.5 × 10⁻⁴, 스무 번째에서 10⁻⁸, 서른 번째에서 10⁻¹² 어긋납니다. 서른 번째쯤이면 배정도가 표현할 수 있는 자릿수보다 더 많은 자리에서 φ와 일치하므로, 수열이 계속 이어지는 동안에도 비율 열은 한참 전에 변화를 멈춥니다.
단순한 호기심 이상인 성질이 둘 있습니다. 피보나치 수를 어떤 수로 나눈 나머지는 주기를 이룹니다. 마지막 한 자리의 주기는 정확히 60이라서 F(n)과 F(n+60)은 언제나 같은 숫자로 끝나는데, 긴 목록을 빠르게 검산하는 방법이 됩니다. 그리고 φ가 1마일에 해당하는 킬로미터 수와 가깝기 때문에, 이웃한 두 항이 둘 사이의 환산이 됩니다. 5마일은 약 8 km, 8마일은 약 13 km, 13마일은 약 21 km입니다. 비 1.6, 1.625, 1.615가 실제 값 1.609를 양쪽에서 감싸므로, 이 요령은 다섯 번째 항부터 대략 1퍼센트 이내로 정확합니다.
자주 묻는 질문
수열은 어디서 시작하나요?
이 생성기는 표준 관례인 F(0) = 0, F(1) = 1을 사용하므로 처음 열 개 항은 0, 1, 1, 2, 3, 5, 8, 13, 21, 34입니다. '마지막 항' 통계는 생성한 목록의 마지막 수입니다.
큰 항도 정확한가요?
네. 계산에 자바스크립트 큰 정수를 사용하므로 수백 자리 항도 부동소수점 반올림 없이 정확히 계산됩니다. 예를 들어 F(100)은 — 목록이 F(0)부터 시작하므로 101번째 값으로 나타납니다 — 정확히 354224848179261915075입니다.
황금비 숫자는 무엇인가요?
마지막 항을 그 앞 항으로 나눈 비입니다. 수열이 커질수록 이 비는 황금비 φ ≈ 1.6180339887로 수렴하며, 피보나치 수와 φ가 밀접하게 연결되는 이유입니다.
재귀 정의가 이걸 계산하는 나쁜 방법인 이유는?
앞의 두 항을 다시 계산해서 각 항을 구하면 같은 값을 지수적으로 여러 번 다시 유도하게 되기 때문이다. 서른 번째 항은 백만 번이 넘는 호출이 들고, 쉰 번째는 아예 닿지 못한다. 마지막 두 값만 들고 아래에서부터 반복하면 어떤 항이든 그 번호만큼의 단계로 얻는다. 정의의 모양과 알고리즘의 모양이 별개의 문제라는 것을 보여주는 표준적인 예다.
항이 이렇게 빨리 커지는 이유는?
각 항이 바로 앞 항에 황금비를 곱한 값에 매우 가깝기 때문이고, 그래서 증가가 선형이 아니라 지수적이다. 자릿수가 대략 다섯 항마다 하나씩 늘어난다. 여기서 정확한 산술이 중요한 이유가 이것이다. 배정밀도 실수는 78번째 항 언저리에서 정밀도를 잃고, 그 뒤로는 그럴듯해 보이는 근삿값이지 그 수가 아니다.
관련 도구
랜덤 숫자 생성기
암호학적 난수로 원하는 범위의 숫자를 뽑아 줍니다 — 중복 허용/금지, 정렬 옵션 포함.
랜덤
로또 번호 생성기
인기 복권 8종(파워볼·유로밀리언즈·6/45·Loto 6·双色球 등) 무작위 추첨 — 암호학적 RNG 사용.
랜덤
PDF 페이지 번호 넣기
PDF에 페이지 번호를 넣으세요 — 위치·표기 방식·시작 번호·표지 건너뛰기를 정해 내려받습니다. 업로드하지 않습니다.
파일
콜라츠 추측 (3n+1) 수열
임의의 양의 정수에 대한 콜라츠 수열을 생성합니다 — 짝수면 반으로, 홀수면 3배 더하기 1 — 단계 수, 도달한 최고값, 1까지의 전체 경로를 보여줍니다.
수학·통계
비례식 계산기
비례식 a/b = c/d를 풉니다 — 세 값을 입력하고 한 칸을 비워 두면 교차곱셈으로 나머지를 구합니다.
수학·통계
A/B 테스트 계산기 (유의성·표본 크기)
두 전환율을 비교해 p값, 상승률, Wilson·Newcombe 구간, 표본 비율 불일치 검사, 다음 테스트에 필요한 표본 크기를 구합니다.
수학·통계