※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 10430번 문제인 나머지이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/10430
10430번: 나머지
첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
www.acmicpc.net
문제 자체의 풀이는 주어진 식을 그대로 계산해 출력해주는 것이라 어려울 것은 없다.
이 문제에서 알려주고자 하는 내용은 A%C + B%C = (A+B)%C 이지만 (A%C) * (B%C) != (A*B)%C 라는 점이다.
후자가 성립하지 않는 것은 A=2, B=2, C=4를 넣어보면 쉽게 알 수 있다. (좌변: 4, 우변: 0)
이 점은 다수의 수준 있는 modulo 연산을 사용하는 문제에서 기억해두어야 실수를 하지 않으므로 잘 기억해두자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int main() {
int A, B, C; cin >> A >> B >> C;
cout << (A + B) % C << '\n' << ((A % C) + (B % C)) % C << '\n' << (A * B) % C << '\n' << ((A % C) * (B % C)) % C;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 10868 // C++] 최솟값 (0) | 2021.05.02 |
---|---|
[BOJ 2739 // C++] 구구단 (0) | 2021.05.01 |
[BOJ 8393 // C++] 합 (0) | 2021.05.01 |
[BOJ 10102 // C++] 개표 (0) | 2021.05.01 |
[BOJ 2675 // C++] 문자열 반복 (0) | 2021.05.01 |