문제
- 바이러스는 1초당 P배씩 증가한다.
- K마리가 있었다면 N초 후에는 총 몇 마리의 바이러스로 불어나는지를 구하는 문제이다.
- N초 동안 죽는 바이러스는 없다.
- 바이러스의 수가 K일때 1 ≤ K ≤ 10^8인 정수이다.
- 증가율이 P일때 1 ≤ P ≤ 10^8인 정수이다.
- 총 시간이 N일때 1 ≤ N ≤ 10^6인 정수이다.
- 최종 바이러스 개수를 1000000007로 나눈 나머지를 출력한다.
알고리즘
- 바이러스의 수, 증가율, 총 시간을 입력받는다.
- 총 시간 동안 반복하여 바이러스의 수를 증가율만큼 증가시킨다.
- 증가시킨 바이러스는 1000000007로 나누고 나눈 나머지를 총 바이러스의 수에 넣어 반복한다.
코드
import sys
k, p, n = list(map(int,sys.stdin.readline().split()))
# 총 시간동안 바이러스를 증가시킨다.
for i in range(n):
k = (k * p) % 1000000007
print(k)
github
'CodingTest > Softeer' 카테고리의 다른 글
[softeer] 소프티어(파이썬): 8단 변속기 ★★ (0) | 2021.05.18 |
---|---|
[softeer] 소프티어(파이썬): 수퍼바이러스 ★★★ (0) | 2021.05.17 |
[softeer] 소프티어(파이썬): H-클린알파 ★★★★ (1) | 2021.05.16 |
[softeer] 소프티어(파이썬): 강의실 배정 ★★★ (0) | 2021.05.16 |
[softeer] 소프티어(파이썬): 우물 안 개구리 ★★★ (0) | 2021.05.16 |