728x90

문제 235. (2022-04-06)

 

 

1629번: 곱셈

첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다.

www.acmicpc.net

Baekjoon 1629. 곱셈

[파이썬(python) - 분할정복]

자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램을 작성하시오.

 


입력

첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다.

 


출력

첫째 줄에 A를 B번 곱한 수를 C로 나눈 나머지를 출력한다.

 


입력 예시

10 11 12

 


출력 예시

4

 


❧ 정답

🔎IDEA) 분할정복

  • 완전탐색 풀이 : 시간초과 발생
  • 짝수 일 경우 2로 나눈 값을 다시 분할 정복을 한 뒤 해당 값을 제곱하고 홀수 일 경우 a를 한 번 더 곱해준다.
728x90