๐Ÿ’ป Coding/[Algorithm]Python

์†Œํ”„ํ‹ฐ์–ด | ์ˆ˜ํผ๋ฐ”์ด๋Ÿฌ์Šค โญโญโญ- PYTHON

๐Ÿฉท ๋ฏผ์˜ 2024. 3. 20. 16:24

์†Œํ”„ํ‹ฐ์–ด | ์ˆ˜ํผ๋ฐ”์ด๋Ÿฌ์Šค โญโญโญ- PYTHON

 

๋ฌธ์ œ

https://softeer.ai/practice/6292

 

Softeer - ํ˜„๋Œ€์ž๋™์ฐจ๊ทธ๋ฃน SW์ธ์žฌํ™•๋ณดํ”Œ๋žซํผ

 

softeer.ai

 

 

์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฌธ์ œ๋งŒ ๋ณด๋ฉด ๋‹จ์ˆœํ•˜๊ฒŒ (K * P)*10N ์„ ํ•˜๋ฉด ๋  ๋ฌธ์ œ์˜€์ง€๋งŒ, ์ˆ˜ํผ๋ฐ”์ด๋Ÿฌ์Šค๋Š” ์ผ๋ฐ˜ ๋ฐ”์ด๋Ÿฌ์Šค์— ๋น„ํ•ด์„œ ํ›จ์”ฌ ์˜ค๋ž˜ ์ƒ์กดํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— N์ด ๋งค์šฐ ํด ์ˆ˜ ์žˆ๋‹ค.๋ผ๋Š” ๋‚ด์šฉ์ด ์žˆ๊ธฐ์— ์‹œ๊ฐ„์„ ๋” ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ์žฌ๊ท€๋ฅผ ์ƒ๊ฐํ•ด ๋ณด์•˜๋‹ค.

 

 

 

๋‚ด ํ’€์ด

import sys
input = sys.stdin.readline


def value(x, y): # ์ฆ๊ฐ€์œจ, ์ด ์‹œ๊ฐ„
    # ์ด ์‹œ๊ฐ„์ด 1์ดˆ๋ผ๋ฉด x(์ฆ๊ฐ€์œจ) ๋ฆฌํ„ด
    if y == 1:
        return x

    # ์ด ์‹œ๊ฐ„์ด ์ง์ˆ˜
    elif y % 2 == 0:
        a = f(x, y / 2)
        # f(2,4) = f(2,2) * f(2,2)
        return a * a % 1000000007

    # ์ด ์‹œ๊ฐ„์ด ํ™€์ˆ˜
    else:
        b = f(x, (y - 1) / 2)
        # f(2,5) = f(2,2) * f(2,2) * 2
        return b * b * x % 1000000007


K, P, N = map(int, input().split()) # ๋ฐ”์ด๋Ÿฌ์Šค ์ˆ˜, ์ฆ๊ฐ€์œจ, ์ด์‹œ๊ฐ„
N = 10 * N
result = value(P, N)
result *= K
print(result % 1000000007)