[BOJ] 1629. ๊ณฑ์ (python)
๐๋ฌธ์
๐ช์์ด๋์ด
๋ด์ฅํจ์ pow()๋ก ๊ฑฐ๋ญ์ ๊ณฑ์ ๊ตฌํํ ๊ฒฝ์ฐ ์๊ฐ๋ณต์ก๋๊ฐ O(N)์ด๋ค. N์ด 1e6์ด๊ธฐ ๋๋ฌธ์ O(logN)์ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํด์ผํ๋ค.
์ด ์ฌ๊ทํจ์๋ b//2๋ฅผ ํ๋ฉด์ b==0์ด ๋๋ฉด ์ข
๋ฃ๋๋ค.
๐ฅ์ฝ๋
1
2
3
4
5
6
7
8
9
10
import sys; input = sys.stdin.readline
a, b, c = map(int,input().split())
answer = 1
while b > 0:
if b % 2 != 0:
answer = (answer * a) % c
b //= 2
a = (a * a) % c
print(answer)
This post is licensed under CC BY 4.0 by the author.
Comments powered by Disqus.