티스토리 뷰

import sys

a, b, c = map(int, sys.stdin.readline().split())

def pow(a, b):
  if b == 1:
    return a % c
  
  tmp = pow(a, b // 2)
  
  if b % 2 == 0:
    return tmp * tmp  % c
  else:
    return tmp * tmp * a % c


print(pow(a, b))

 

문제를 통해 시간을 줄일 수 있는 부분은 b!!

a * a * a * a * a ..... 연속적이면 시간소모가 큼

따라서 나눠서 곱함(a, b = 5, 4 -> (5^2) * (5^2))

완전 이진트리 모양으로 생각하면 편함 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함