✉️문제
https://www.acmicpc.net/problem/10430
📝 접근
컴퓨터의 정수는 저장할 수 있는 범위가 지정되어 있기 때문에, 답을 M으로 나눈 나머지를 출력하는 문제가 등장한다. 이 때 다음과 같은 성질을 이용해서 int또는 long과 같은 자료형의 범위로 제한해주어야 한다.
(A + B) mod M = (( A mod M ) + ( B mod M )) mod M
(A x B) mod M = (( A mod M) x ( B mod M )) mod M
(A - B ) mod M = (( A mod M) - (B mod M) mod M
🗝 문제풀이
위의 성질을 그대로 코드로 옮겨 적어 출력해봄으로써 다음과 같은 성질이 성립한다고 확인할 수 있었다.
public class B10430R {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt(); int b = sc.nextInt(); int c = sc.nextInt();
int num1 = (a + b) % c;
int num2 = ((a % c) + (b % c)) % c;
int num3 = (a * b) % c;
int num4 = ((a % c) * (b % c)) % c;
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
}
}