알고리즘 문제를 풀다 보면 자주 등장하는 것이 나머지 연산입니다. 특히 문제에서 결과값이 매우 커질 수 있는 경우, % MOD를 취해 정답을 구하는 경우가 많습니다.
하지만 모듈러 연산의 분배법칙에는 몇 가지 주의할 점이 있습니다.
// 덧셈
(a + b) % MOD == ((a % MOD) + (b % MOD)) % MOD
// 곱셈
(a * b) % MOD == ((a % MOD) * (b % MOD)) % MOD
// 뺄셈
(a - b) % MOD == ((a % MOD) - (b % MOD) + MOD) % MOD
// 나눗셈
(a / b) % MOD != ((a % MOD) / (b % MOD)) % MOD
(a / b) % MOD == (a * b^(MOD-2)) % MOD == ((a % MOD) * (b^(MOD-2) % MOD)) % MOD