[백준] 10430번 - 나머지 [Java][C++]
[백준] 10430번 - 나머지 [Java][C++]
1. 문제 풀이
두 정수 $A$, $B$ 에 대해 네 가지 연산 결과를 출력하면 되는 문제다.
1번 연산에 대해 2번 연산은 덧셈에 대한 분배를 적용하고, 3번 연산에 대해 4번 연산은 곱셈에 대한 분배를 적용한 꼴인데, 나머지(mod) 연산의 경우 덧셈과 곱셈에 대한 분배법칙이 성립해 1번 연산과 2번 연산이 동일하고 3번 연산과 4번 연산이 동일한 결과가 나올 것임을 예상해 볼 수 있다.
2. 코드
1. 구현 [Java]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int C = Integer.parseInt(st.nextToken());
System.out.println((A + B) % C);
System.out.println(((A % C) + (B % C)) % C);
System.out.println((A * B) % C);
System.out.println(((A % C) * (B % C)) % C);
}
}
2. 구현 [C++]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int a, b, c;
cin >> a >> b >> c;
cout << (a + b) % c << '\n';
cout << ((a % c) + (b % c)) % c << '\n';
cout << (a * b) % c << '\n';
cout << ((a % c) * (b % c)) % c << '\n';
}
3. 풀이 정보
1. 구현 [Java]
| 언어 | 시간 | 메모리 | 코드 길이 |
|---|---|---|---|
| Java 11 | 100 ms | 14240 KB | 618 B |
2. 구현 [C++]
| 언어 | 시간 | 메모리 | 코드 길이 |
|---|---|---|---|
| C++ 17 | 0 ms | 2020 KB | 315 B |
This post is licensed under CC BY 4.0 by the author.