나머지 연산은 일반적인 분배법칙이 성립되지 않는다.
(A+B)%C와 (A%C) + (B%C)는 같지 않고, (A×B)%C와 (A%C)×(B%C)는 같지 않다.
(A+B)%C는 ((A%C) + (B%C))%C와 같다.
나머지 연산 증명 참고
https://lypicfa.tistory.com/638
C(&C++) 실습 5. (A+B)%C == ((A%C) + (B%C))%C // 증명
문제 출처 backjoon 10430번 문제 0. 문제 ⅰ. 세 수 A, B, C가 주어졌을 때, 아래의 네 가지 값을 구하는 프로그램을 작성하시오. ■ (A+B)%C는 ((A%C)+(B%C))%C 와 같을까? ■ (A×B)%C는 ((A%C)×(B%C))%C 와 같을까?
lypicfa.tistory.com
페르마 소정리와 모듈러 연산
연산 중 너무 큰 결과값이 나올 경우 결과값에 나머지 연산을 하면 오버플로우가 발생할 수 있음
나머지 연산이 불가능 할 경우 연산 과정 중 나머지 연산을 적용해야함
참고
https://velog.io/@gidskql6671/%EB%82%98%EB%A8%B8%EC%A7%80Modulo-%EC%97%B0%EC%82%B0-
%EB%B6%84%EB%B0%B0%EB%B2%95%EC%B9%99
나머지(Modulo) 연산 분배법칙
Modulo 연산의 분배법칙에 대해 알아보자
velog.io
https://soeasyalgo.tistory.com/11
[연산자]나머지 연산과 분배법칙
APS과정에서 연산의 결과가 long을 넘는 아주 큰 수에 대한 사칙 연산이 필요한 경우가 있다. 당연히 overflow가 발생하기 때문에 결과 처리가 상당히 어렵다. long a = Long.MAX_VALUE -1; long b = Long.MAX_VALUE
soeasyalgo.tistory.com
'CS > 코딩테스트' 카테고리의 다른 글
백준 1141번: 접두사 - C++ (0) | 2025.03.25 |
---|---|
백준 9494번: 균형잡힌 세상 - C++ 스택(Stack) (0) | 2025.03.25 |
백준 2785번: 체인 - C++ 탐욕(Greedy)알고리즘 (0) | 2025.03.24 |