Сравнимость по модулю. Модулярная арифметика

 

 

Понятие «модулярная арифметика» ввел немецкий ученый Гаусс.

 

Модульная арифметика аналогична обычной арифметике: она коммутативна, ассоциативна и дистрибутивна.

Под операцией a mod m понимается операция взятия целочисленного остатка от деления числа a на число m, где a и m - целые числа.

Запись в модульной арифметике

 

a b mod m

читается как "a сравнимо с b по модулю m". С помощью знака равенства эту операцию можно записать как

 

a = b + k·m,


 

где a, b, m - целые числа, m ≠ 0, k - некоторое целое число.

 

Отсюда следует, что m делит (a - b) нацело:

 

m | (a - b) или (a - b) mod m = 0.

 

Число b называют вычетом числа a по модулю m.

 

Операция a mod m называется приведением числа a по модулю m или

 

приведением по модулю.

 

Пример 1.7. Вычислить (3+14) mod 12.

 

Получим (3+14) mod 12 = 17 mod 12 ≡ 5 или 17 ≡ 5 mod 12. То есть число 5 является вычетом числа 17 по модулю 12.

Ряд целых чисел от 0 до (m - 1) называется полным набором вычетов по модулю m. Для любого целого a (a > 0) его вычет r по модулю m

 


принадлежит интервалу системы


r = 0, m - 1. Число r можно найти перебором из

 

ìr =a -k ×m

ï


í k ÎZ ,

ï


 

перебирая все значения k.


îr =0, m -1


 


Например, для m = 13 полный набор вычетов равен


0, 12 . Но можно


 

11


использовать вычеты и в диапазоне целых чисел


r =-2 (m -1), 2 (m -1) .


 

Если приводимое число является отрицательным, то выполняется его сложение с модулем m. Например, -5 mod 7 = (-5 + 7) mod 7 ≡ 2 mod 7.

 

Достоинствами вычислений по модулю является следующее:

 

- ограничивается диапазон промежуточных величин и результата;

 

- не требуется хранить большие промежуточные результаты.