Algorithm(BOJ, Python)/Dynamic Programing
[백준_1788] 피보나치 수의 확장 python
kurooru
2022. 8. 7. 12:58
설계를 짜고 보니
f와 g가 짝수 홀수 기준으로 대칭을 이루고 있다는 사실을 발견했다.
# f 설계
f = [
0 for _ in range(1000001)
]
# f 초기설정
f[0] = 0
f[1] = 1
# f 채워넣기
for i in range(2, 1000001):
f[i] = (f[i-2] + f[i-1]) % 1000000000
# n 입력
n = int(input())
# n == 0 일 경우
if n == 0:
print(0)
print(0)
# n > 0 일 경우
elif n > 0:
print(1)
print(f[n])
# n < 0 일 경우
else:
# n이 짝수이면,
if n % 2 == 0:
# 음수
print(-1)
# 값 출력
print(f[n * -1])
# n이 홀수이면
else:
# 양수
print(1)
# 값 출력
print(f[n * -1])