coding_test/BAEKJOON

백준 10826번 Python 풀이

CodeJin 2021. 12. 24. 13:42

https://www.acmicpc.net/problem/10826

 

10826번: 피보나치 수 4

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

 

저번에는 n이 무지막지하게 컸지만, 이번에는 결과값을 그냥 출력해야 하는 문제. 무슨 말이냐 하면, 저번 2749번 문제는 값이 아무리 커도 결국 나머지값이 필요했기 때문에 출력하는데 별 문제가 없었지만, 이번에는 피보나치 수열 값을 출력해야 한다.

 

그런데 피보나치 수열은 값이 기하급수적으로 커진다. 당장 300정도만 해도

https://ko.numberempire.com/fibonaccinumbers.php

음..... 그만 알아보도록 하자.

 

따라서 이 문제는 큰 수 문제이다. 파이썬은 정수의 처리범위가 굉장히 넓기 때문에, 이번에는 C계열이 아니라 파이썬으로 해결해보자.

import sys
input = sys.stdin.readline

def fibo(n):    
    x,y = 0, 1
    for i in range(n):
        x,y = y, x+y
    return x

print(fibo(int(input())))

 

나중에는 큰 수 문제도 C계열 언어로 풀어봐야겠다.