도구스학업·수학

피사노 주기(피보나치 나머지) 계산기

피보나치 수를 n으로 나눈 나머지가 되풀이되는 길이를 구합니다. 끝자리가 60개마다 되풀이된다는 것이 π(10) = 60이며, 한 주기의 나머지 전체와 소인수로 쪼갠 최소공배수까지 함께 보여 줍니다.

으로 나눔

피보나치 수를 n으로 나눈 나머지가 되풀이되는 길이를 구합니다. 100,000까지 다룹니다.

π(10)

60개마다

피보나치 수를 10으로 나눈 나머지는 60개가 되풀이됩니다. 6n = 60의 100.0%로, 가능한 가장 긴 주기입니다.

주기60개
상한 6n60
상한 대비100.0%
소인수로 쪼개면lcm(π(2) = 3, π(5) = 20) = 60

한 주기의 나머지

0, 1, 1, 2, 3, 5, 8, 3, 1, 4, 5, 9, 4, 3, 7, 0, 7, 7, 4, 1, 5, 6, 1, 7, 8, 5, 3, 8, 1, 9, 0, 9, 9, 8, 7, 5, 2, 7, 9, 6, 5, 1, 6, 7, 3, 0, 3, 3, 6, 9, 5, 4, 9, 3, 2, 5, 7, 2, 9, 1

여기서 한 번 더 가면 0, 1로 돌아와 같은 줄이 그대로 되풀이됩니다. 수열이 「언젠가부터」가 아니라 처음부터 통째로 되풀이된다는 것이 피사노 주기의 성질입니다.

소인수 거듭제곱마다의 주기

소인수 거듭제곱주기
23
520
최소공배수60

서로소인 m과 n에 대해 π(mn) = lcm(π(m), π(n))입니다. 그래서 큰 수의 주기는 소인수 거듭제곱마다 구해 최소공배수를 내면 되고, 직접 구한 값과 여기서 나온 값이 같은지 보는 것이 그대로 검산이 됩니다.

n이 작을 때의 주기

nπ(n)6n 대비
1117%
2325%
3844%
4625%
52067%
62467%
71638%
81225%
92444%
1060100%
111015%
122433%
132836%
144857%
154044%
162425%
173635%
182422%
191816%
206050%

주기가 n에 따라 매끄럽게 늘지 않습니다. π(11) = 10으로 π(10) = 60보다 훨씬 짧습니다 — n이 커진다고 주기도 길어지는 것이 아닙니다.

왜 반드시 주기가 생기나. 다음 항은 바로 앞 두 항의 나머지만으로 정해지는데, 나머지 쌍은 n²가지뿐이라 n² + 1걸음 안에 반드시 이미 지난 쌍을 다시 밟습니다(비둘기집). 게다가 뒤로도 되돌아갈 수 있어서(앞 항 = 다음 항 − 지금 항) 도중의 다른 고리에 갇히지 않고 반드시 처음 쌍 (0, 1)로 돌아옵니다. 그래서 「언젠가부터」가 아니라 처음부터 통째로 되풀이됩니다.
주기는 6n을 넘지 않습니다. 그리고 등호가 성립하는 것은 n = 2×5k(10, 50, 250, 1250, …)일 때뿐입니다. 그래서 우리가 가장 자주 만나는 「끝자리」의 주기 60이 가능한 가장 긴 축에 듭니다. 두 자리까지 보면 π(100) = 300, 세 자리까지는 π(1000) = 1500입니다.
피보나치 수 자체는 자릿수가 폭발하지만, 나머지만 보면 이렇게 유한한 주기 안에서 돕니다. 그래서 F(1018)의 끝자리 같은 것도 주기만 알면 즉시 답할 수 있습니다 — 지수를 주기로 나눈 나머지 번째 항을 보면 됩니다. edu/fibonacci는 수 자체를, 이쪽은 나머지의 주기를 봅니다.

계산 방법

  1. 1나누는 수 n을 넣습니다. 끝자리를 보려면 10입니다.
  2. 2주기가 몇 개인지 확인합니다.
  3. 3한 주기의 나머지를 훑어보며 마지막에서 0, 1로 돌아오는지 봅니다.
  4. 4소인수로 쪼갠 주기들의 최소공배수가 같은 값인지 견줍니다.
  5. 5n을 바꿔 가며 주기가 매끄럽게 늘지 않는다는 것을 확인합니다.

자주 묻는 질문

피보나치 수를 n으로 나눈 나머지가 되풀이되는 길이입니다. 끝자리만 적어 보면 0, 1, 1, 2, 3, 5, 8, 3, 1, 4, …로 가다가 60번째에서 다시 0, 1로 돌아오므로 π(10) = 60입니다.

다음 항이 바로 앞 두 항의 나머지만으로 정해지는데 나머지 쌍은 n²가지뿐이기 때문입니다. n² + 1걸음 안에 반드시 이미 지난 쌍을 다시 밟습니다. 게다가 뒤로도 되돌아갈 수 있어서 도중의 다른 고리에 갇히지 않고 반드시 처음 쌍 (0, 1)로 돌아오므로, 「언젠가부터」가 아니라 처음부터 통째로 되풀이됩니다.

언제나 6n을 넘지 않습니다. 등호가 성립하는 것은 n = 2×5^k, 곧 10, 50, 250, 1250 같은 수일 때뿐이라 우리가 가장 자주 만나는 끝자리의 주기 60이 가능한 가장 긴 축에 듭니다.

소인수 거듭제곱으로 쪼개 각각의 주기를 구한 뒤 최소공배수를 내면 됩니다. m과 n이 서로소일 때 π(mn) = lcm(π(m), π(n))이기 때문입니다. 이 도구는 직접 구한 값과 쪼개서 구한 값을 함께 보여 주므로 둘을 견줄 수 있습니다.

그렇지 않습니다. π(10) = 60인데 π(11) = 10으로 훨씬 짧습니다. 주기는 n의 소인수 구성에 따라 정해지므로 크기와는 매끄럽게 이어지지 않습니다.

아주 큰 번째 피보나치 수의 나머지를 즉시 구할 수 있습니다. 예를 들어 10¹⁸번째 피보나치 수의 끝자리를 알고 싶다면 10¹⁸을 60으로 나눈 나머지 번째 항만 보면 됩니다. 피보나치 수 자체는 자릿수가 폭발하지만 나머지는 유한한 주기 안에서 돕니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • π(1)부터 π(20)까지를 OEIS A001175와 대조해 고정했습니다. π(10) = 60, π(100) = 300, π(1000) = 1500도 함께 확인했습니다.
  • 「주기가 참인가」를 뜻 그대로 검사합니다. F(k)와 F(k + π)의 나머지가 같아야 하고 π보다 작은 어떤 값에서도 그러면 안 됩니다. 나머지는 행렬 거듭제곱으로 따로 구해 견주므로 한 걸음씩 세는 쪽과 원리가 겹치지 않습니다.
  • 곱셈성 π(mn) = lcm(π(m), π(n))을 서로소인 모든 짝(40 이하)에서 확인했고, 1부터 500까지의 모든 n에서 소인수 거듭제곱으로 쪼개 구한 값이 직접 구한 값과 같은 것도 고정했습니다.
  • 「π(n) ≤ 6n」을 3,000까지 실제로 검사했고, 등호가 성립하는 n이 2,000 이하에서 10·50·250·1250뿐이라는 것도 탐색으로 확인했습니다. 모두 2×5^k 꼴입니다.
  • 주기를 찾는 탐색 한도를 6n + 10으로 두었습니다. 위 상한이 참이므로 이 안에서 반드시 찾으며, 100,000까지 실제로 확인했습니다.
  • n은 100,000까지 다룹니다. 한 주기의 나머지는 240개까지만 화면에 보이고 그보다 길면 앞부분만 보입니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 1일 · 결과는 참고용 추정치입니다.