BAEKJOON/수학
백준 10430번 [나머지](JAVA) -yes6686- 티스토리
yes6686
2025. 1. 8. 19:53
728x90
반응형
SMALL
백준 문제 풀이: 10430 [나머지]
문제 링크: https://www.acmicpc.net/problem/10430
문제 설명:
세 개의 정수 A, B, C가 주어졌을 때, 다음 네 가지 연산 결과를 출력하는 문제입니다:
- (A + B) % C
- [(A % C) + (B % C)] % C
- (A × B) % C
- [(A % C) × (B % C)] % C
이 연산들은 모듈로 연산의 기본 성질을 확인하는 데 활용됩니다.
문제 해결 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 입력을 받기 위한 Scanner 객체 생성
int a = scanner.nextInt(); // 첫 번째 정수 입력
int b = scanner.nextInt(); // 두 번째 정수 입력
int c = scanner.nextInt(); // 세 번째 정수 입력
// 각 연산의 결과를 출력
System.out.println((a + b) % c); // (A + B) % C
System.out.println(((a % c) + (b % c)) % c); // [(A % C) + (B % C)] % C
System.out.println((a * b) % c); // (A × B) % C
System.out.println(((a % c) * (b % c)) % c); // [(A % C) × (B % C)] % C
}
}
예제 입력:
5 8 4
예제 출력:
1
1
0
0
코드 설명
- 핵심 알고리즘: 모듈로 연산의 성질을 활용하여 네 가지 결과를 계산합니다.
- 구현 세부사항:
- 첫 번째 출력은 (A + B) % C의 결과입니다.
- 두 번째 출력은 [(A % C) + (B % C)] % C로, 동일한 결과를 다른 방식으로 계산합니다.
- 세 번째 출력은 (A × B) % C의 결과입니다.
- 네 번째 출력은 [(A % C) × (B % C)] % C로, 곱셈 모듈로의 성질을 활용합니다.
- 시간 복잡도 분석: 모든 연산은 상수 시간(O(1)) 내에 수행됩니다.
결과
코드는 입력값에 따라 정확히 네 가지 연산 결과를 출력합니다. 모듈로 연산의 기본 성질을 확인할 수 있는 문제입니다. 더 나은 접근 방식이나 추가 질문이 있다면 댓글로 알려주세요!
728x90
반응형
LIST