본문 바로가기

728x90

모듈로

[백준알고리즘] 1009번: 분산처리 -C++ [백준알고리즘] 1009번: 분산처리 -C++ 1009번: 분산처리 (acmicpc.net) 1009번: 분산처리 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000) www.acmicpc.net 모듈로 연산을 해주었다. 모듈로(\(\%\))란 나머지라고 생각하면 된다. 모듈로 연산을 사용해준 이유는, 컴퓨터가 \(10\) 대면서 하나씩 일을 순차적으로 맡아가기 때문에 적합하다고 생각했다. 예를 들어서, \(11\)개의 데이터가 주어진다면 마지막 데이터를 처리하는 컴퓨터는 \(11\%10 = 1\) 번 컴퓨터가 될 것이다. 또한 \(26\) 개의 데이터가 주어진다면 마지막 .. 더보기
[백준알고리즘] 1629번: 곱셈 -Java [백준알고리즘] 1629번: 곱셈 -Java https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 왜 틀리지 왜 틀리지... 했는데 자료형 때문이었다... 찍어보니 초과해서 -값들이 우수수수 나오는 걸 보고 금방 해결했다 ㅜㅜ 왜 생각하지 못했을까 아무튼 이 문제는 분할정복 문제이다. 이 문제를 풀기 위해서는 "빠른 모듈로 거듭제곱 법"을 알아야 한다. 간단하게 설명하자면, 정수 A를 B로 나눈 나머지 A%B는 A mod B로 표현이 가능하다. 이때, (A^2) mod B = (A*A) mod B = ((A mod.. 더보기

728x90