728x90
반응형
import sys
a,b,c = sys.stdin.readline().split()
a = int(a)
b = int(b)
c = int(c)
def dac(a,b):
if b ==1:
return a % c
temp = dac(a,b//2)
if b%2 == 0:
return temp*temp %c
else:
return temp*temp * a %c
print(dac(a,b))
temp를 통해서 절반씩 반복해서 계산하게 재귀를 호출한다.
곱해지는 횟수가 홀수번이라면 한 번이 남기에 a를 곱해준다.
728x90
반응형
'Algorithm & Data Structure' 카테고리의 다른 글
백준 - 11401번(재귀,이항계수, 페르마 소정리) (0) | 2022.02.05 |
---|---|
백준 - 10830(재귀, 분할정복) (0) | 2022.02.04 |
백준 - 1992번(재귀,분할정복,쿼드트리) (0) | 2022.02.03 |
백준 - 2630번(재귀,분할정복) (0) | 2022.02.03 |
백준 - 5430번(덱,아이디어) (0) | 2022.02.02 |