
[백준_분할정복] 1629번 - 곱셈 - 이해까지 도와주는 풀이
문제 자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. 출력 첫째 줄에 A를 B번 곱한 수를 C로 나눈 나머지를 출력한다. 예제 입력 10 11 12 예제 출력 4 풀이 이 문제는 지수가 짝수인 경우와 홀수인 경우를 나눠서 풀 수 있습니다. 지수가 짝수인 경우 만약 b가 짝수라면, half_power에는 power_mod(a, b //2 , c)를 호출하여 a를 b의 절반으로 제곱한 결과를 저장합니다. 그리고 나서 (half_power * half_power) % c 를 계산하여 ..