https://www.acmicpc.net/problem/10430
안녕하세요! 오늘은 백준 10430번 문제, “나머지”에 대해 알아보겠습니다. 🎉 이 문제는 기본적인 수학 연산을 활용하여 나머지 연산의 성질을 이해하는 데 도움을 주는 좋은 기회입니다.
문제 소개
이 문제는 주어진 세 수 A, B, C에 대해 두 가지 나머지 연산의 성질이 성립하는지를 확인하는 것입니다. 즉,
-
- (A + B) % C와 ((A % C) + (B % C)) % C가 같은가?
- (A * B) % C와 ((A % C) * (B % C)) % C가 같은가?
이러한 질문은 모듈러 산술의 기본적인 성질을 다루고 있으며, 이 문제를 통해 나머지 연산의 특성을 명확히 이해할 수 있습니다.
문제 이해하기
나머지는 어떤 수를 다른 수로 나누었을 때 남는 값을 의미합니다. 예를 들어, 10을 3으로 나누면 몫은 3이고, 나머지는 1입니다.
두 수 A와 B를 더한 후 그 결과를 C로 나눈 것과,
각각 A와 B를 먼저 C로 나눈 후 그 결과를 더한 것을 다시 C로 나누었을 때,
여기서 중요한 점은 두 수 A와 B를 더한 후 그 결과를 C로 나눈 것과, 각각 A와 B를 먼저 C로 나눈 후 그 결과를 더한 것을 다시 C로 나누었을 때 두 결과가 같다는 것입니다.
입력 및 출력 형식
- 입력: 첫째 줄에 A, B, C가 순서대로 주어집니다. (2 ≤ A, B, C ≤ 10,000)
- 출력:
-
- 첫째 줄에 (A + B) % C
- 둘째 줄에 ((A % C) + (B % C)) % C
- 셋째 줄에 (A * B) % C
- 넷째 줄에 ((A % C) * (B % C)) % C
-
예제 설명
예를 들어, 입력이 5 8 4
라면:
-
-
- 첫 번째 계산: (5 + 8) % 4 = 13 % 4 = 1
- 두 번째 계산: ((5 % 4) + (8 % 4)) % 4 = (1 + 0) % 4 = 1
- 세번째 계산:
- (5 * 8) % 4 = 0
- ((5%4)*(8%4))%4 = 0
-
파이썬 코드 구현
이제 위에서 설명한 내용을 바탕으로 파이썬 코드를 작성해 보겠습니다.
# 입력 받기
A, B, C = map(int, input().split())
# 각 식 계산하기
result_1 = (A + B) % C
result_2 = ((A % C) + (B % C)) % C
result_3 = (A * B) % C
result_4 = ((A % C) * (B % C)) % C
# 결과 출력하기
print(result_1)
print(result_2)
print(result_3)
print(result_4)
결과 확인 및 검증
코드를 실행하면 주어진 입력값에 대한 올바른 출력을 얻을 수 있습니다. 이를 통해 우리가 예상했던 대로 모든 조건이 만족됨을 확인할 수 있습니다.
결론
이번 문제는 프로그래밍 기초 실력을 쌓기에 좋은 예제입니다. 반복적으로 풀어보며 모듈러 산술의 개념도 확실히 익혀보세요! 추가적인 자료는 아래 링크를 참고하시면 도움이 될 것입니다.
'백준 문제 풀이 > 파이썬' 카테고리의 다른 글
백준 11382번 "꼬마 정민" --- 파이썬 (1) | 2024.09.27 |
---|---|
백준 2588번 "곱셈" --- 파이썬 (5) | 2024.09.26 |
백준 18108번 "1998년생인 내가 태국에서는 2541년생?!" --- 파이썬 (3) | 2024.09.24 |
백준 10926번 "??!" --- 파이썬 (0) | 2024.09.23 |
백준 1008번 "A/B" --- 파이썬 (0) | 2024.09.22 |