반응형
4150번: 피보나치 수
피보나치 수열은 다음과 같이 그 전 두 항의 합으로 계산되는 수열이다. 첫 두 항은 1로 정의된다. f(1) = 1, f(2) = 1, f(n > 2) = f(n − 1) + f(n − 2) 정수를 입력받아, 그에 해당하는 피보나치 수를 출력
www.acmicpc.net
풀이
- 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 |