-
https://www.acmicpc.net/problem/1629
1629번: 곱셈
첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다.
www.acmicpc.net
해당 문제는 숫자 A, B, C가 주어질 때
A^B % C 한 결과를 출력하는 문제다.
단 데이터 크기 제한이 int형 마지막이므로 모든 데이터를 long형으로 두었고
그냥 다 곱하고 하면 시간 초과가 발생할 것이다.
일단 나머지 연산에는 모듈러 연산을 이용하였다.
( a + b) % c == ( a%c + b%c) % c가 성립한다는 내용이다.
이후 제곱 부분은 나눠서 계산하도록 하였는데
ex 2^8의 경우는 2^4 * 2^4이다
이처럼 계속 쪼개다가 1이 나올 경우 리턴해주는 방식으로 소스를 짜서 해결했다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 14496 그대, 그머가 되어 JAVA (0) 2021.11.16 Baekjoon 2407 조합 JAVA (0) 2021.11.16 Baekjoon 9375 패션왕 신해빈 JAVA (0) 2021.11.16 Baekjoon 2206 벽 부수고 이동하기 JAVA (0) 2021.11.16 Baekjoon 1167 트리의 지름 JAVA (0) 2021.11.16 댓글