1629번: 곱셈
첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다.
www.acmicpc.net
# 곱셈
# https://www.acmicpc.net/problem/1629 (구현)
# 거듭제곱
def cpow(a, b, mod):
# a의 11승
# 11 = 1011 (2진수)
# a ** 11 = a ** (1+2+0+8) = (a) * (a**2) * (a**8)
ret = 1
while b:
b, r = divmod(b, 2)
if r != 0:
ret = ret * a % mod
a = a * a % mod
return ret
a, b, mod = map(int, input().split())
ans = cpow(a, b, mod)
print(ans)
'BOJ 알고리즘 (T아카데미)' 카테고리의 다른 글
11866번: 요세푸스 문제 0 (구현, 큐) - Tacademy (0) | 2020.10.01 |
---|---|
9012번: 괄호 (구현, 스택) - Tacademy (0) | 2020.10.01 |
11729번: 하노이탑 (구현, 재귀) - Tacademy (0) | 2020.10.01 |
2484번: 주사위 네개 (구현) - Tacademy (0) | 2020.09.29 |
1748번: 수 이어쓰기 1 (구현) - Tacademy (0) | 2020.09.28 |