반응형
1629번: 곱셈
첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다.
www.acmicpc.net
알고리즘 분류
- 수학
- 분할 정복을 이용한 거듭제곱
SOLUTION
pow() 함수를 이용한 간단한 코드
print(pow(*map(int,input().split())))
분할 정복 이용한 코드
import sys
def divide_and_conquer(num, n):
if n == 1:
return num % C
if n % 2 == 0:
y = divide_and_conquer(num, n//2)
return y * y % C
else:
y = divide_and_conquer(num, (n-1)//2)
return y * y * num % C
A, B, C = map(int, sys.stdin.readline().split())
print(divide_and_conquer(A,B))
'코딩테스트 대비 > BOJ' 카테고리의 다른 글
[Baekjoon/Python] 1991번: 트리 순회 - 효과는 굉장했다! (0) | 2022.04.03 |
---|---|
[Baekjoon/Python] 1932번: 정수 삼각형 - 효과는 굉장했다! (0) | 2022.04.03 |
[Baekjoon/Python] 1149번: RGB거리 - 효과는 굉장했다! (0) | 2022.03.28 |
[Baekjoon/Python] 15666번: N과 M (12) - 효과는 굉장했다! (0) | 2022.03.28 |
[Baekjoon/Python] 15663번: N과 M (9) - 효과는 굉장했다! (0) | 2022.03.28 |