이 문제는 피사노 주기를 알면 쉽게 풀 수 있다. 피보나치 수를 나눈 수는 항상 주기를 가지는데,
피보나치 수를 나눌 수를 k라고 할 때, k = 10^n이면 피사노 주기는 15 * 10^(n-1)이다.
n = int(input())
a, b = 0, 1
n = n % (15*100000)
for i in range(n):
a, b = b%1000000, (a+b)%1000000
print(a)
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 2753번 윤년(python) (0) | 2020.02.07 |
---|---|
백준 알고리즘 2750번 수 정렬하기(python) (0) | 2020.02.07 |
백준 알고리즘 2748번 피보나치 수 2(python) (0) | 2020.02.07 |
백준 알고리즘 2747번 피보나치 수(python) (0) | 2020.02.07 |
백준 알고리즘 2743번 단어 길이 재기(python) (0) | 2020.02.07 |