๐Ÿ—๏ธ Algorithm/๐ŸŸฉ ๋ฐฑ์ค€

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 1629๋ฒˆ_๊ณฑ์…ˆ

Dbswnstjd 2022. 11. 7. 13:24

๋ฌธ์ œ

https://www.acmicpc.net/problem/1629

 

1629๋ฒˆ: ๊ณฑ์…ˆ

์ฒซ์งธ ์ค„์— A, B, C๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. A, B, C๋Š” ๋ชจ๋‘ 2,147,483,647 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net

ํ’€์ด

# ๋ฐฑ์ค€ 1629๋ฒˆ ๋ฌธ์ œ - ๊ณฑ์…ˆ
a, b, c = map(int, input().split())
# 1. b์˜ ๊ฐ’์ด ์ง์ˆ˜์ธ์ง€ ํ™€์ˆ˜์ธ์ง€ ํŒŒ์•…
# 2. b์˜ ๊ฐ’์ด ์ง์ˆ˜๋ผ๋ฉด 10^10 -> (10^5)^2 ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค
# 3. b์˜ ๊ฐ’์ด ํ™€์ˆ˜๋ผ๋ฉด 10^11 -> (10^5)^2 * 10 ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.
def power(a, b):
    if b==1: # b์˜ ๊ฐ’์ด 1
        return a % c
    else:
        temp = power(a, b//2)
        if b % 2 == 0:
            return temp * temp % c
        else:
            return temp * temp * a % c
print(power(a,b))

๋ถ„ํ• ์ •๋ณต์„ ํ†ตํ•ด ํ’€์—ˆ๋‹ค.