본문 바로가기

Algorithm

[Algorithm] 모듈러 연산

알고리즘 문제를 푸는데 많이 나오는 모듈러 연산!

이걸 몰라서 틀리면 억울하니 알아만 두자.

 

  • (𝑎+𝑏) % 𝑀 = ((𝑎 % 𝑀)+(𝑏 % 𝑀)) % 𝑀
  • (𝑎𝑏) % 𝑀 = ((𝑎 % 𝑀)(𝑏 % 𝑀)+𝑀) % 𝑀
  • (𝑎×𝑏) % 𝑀 = ((𝑎 % 𝑀)×(𝑏 % 𝑀)) % 𝑀

덧셈, 뺄셈, 곱셈에는 대체로 잘 적용하나 나눗셈은 그렇지 않다. 페르마 소정리를 이용해야 하는데 아래의 블로그에 잘 정리되어 있다. 

 

https://ohgym.tistory.com/13

 

모듈러 나눗셈

Modular 사칙연산만큼 친숙한 모듈러지만 연산은 사칙연산만큼 심플하지는 않다. 정의 자체가 나눗셈을 한 후에 나머지를 가리키는 뜻이니 나눗셈 이상의 매력이 있다. 그럼 한번 사칙연산과 모

ohgym.tistory.com

 

어쨋든 결론만 기억하자면, 

  • (𝑎/𝑏) % 𝑀 = ((𝑎 % 𝑀)×(𝑏^(𝑀2) % 𝑀)) %

M이 소수여야 하고, b는 M의 배수이면 안된다. 

'Algorithm' 카테고리의 다른 글

[Algorithm] Distance in set  (0) 2025.01.02
[Algorithm] CERC 2023 E,B  (1) 2024.11.12
Frog Jump [26107]  (1) 2023.10.15