반응형
풀이
- 1000자 이내의 피보나치 수를 구하는 문제다.
- 단순하게 배열을 통해 S[i] = S[i-1] + S[i-2]로 피보나치 수를 구하였다.
- 구할 때마다 1000자가 넘는지 혹은 이미 구할 숫자까지 왔는지 체크해서 break 하고 답을 출력하였다.
a = int(input())
s=[0,1,1]
idx = 3
while True:
p = s[idx-1]+s[idx-2]
if len(str(p)) > 1000 or idx > a:
break
else:
s.append(p)
idx += 1
print(s[a])
반응형
'코딩 > 백준' 카테고리의 다른 글
알고리즘 - Python / 백준 - 2467번 : 용액 (0) | 2022.02.02 |
---|---|
알고리즘 - Python / 백준 - 9084번 : 동전 (0) | 2022.02.01 |
알고리즘 - Python / 백준 - 2581번 : 소수 (0) | 2022.01.31 |
알고리즘 - Python / 백준 - 8871번 : Zadanie próbne 2 (0) | 2022.01.31 |
알고리즘 - Python / 백준 - 14677번 : 병약한 윤호 (0) | 2022.01.31 |