К содержимому

Остаток: что означает a mod m

Как в учебнике

Для целого $a$ и положительного целого $m$ существуют единственные целые $q$ и $r$, для которых $a=qm+r$ и $0\le r<m$. Число $r$ называют остатком и записывают $a\bmod m$. Условие на диапазон остатка делает разложение однозначным.

Из равенства $17=3\cdot5+2$ следует $17\bmod5=2$. Для отрицательного числа $-1=(-1)\cdot5+4$, значит $-1\bmod5=4$. Оператор остатка в языке программирования может использовать другое соглашение для отрицательных аргументов; переносить математический результат в код без проверки контракта нельзя.

Единственность следует из ограничения диапазона. Если $a=qm+r=q'm+r'$ с допустимыми остатками, то $(q-q')m=r'-r$. Справа число по модулю меньше $m$, а слева кратное $m$, поэтому обе стороны равны нулю. Существование можно получить выбором $q=\lfloor a/m\rfloor$ и $r=a-qm$: определение пола сразу даёт $0\le r<m$.

Определения и дальнейшее чтение: Mathematics for Computer Science.

На пальцах

После раскладки 17 предметов по полным коробкам вместимостью 5 остаются три коробки и два отдельных предмета; остаток описывает последнюю часть. Для отрицательного входа действует тот же выбранный диапазон от нуля до $m-1$, словно на циферблате из пяти отметок. Шаг назад от нуля приводит на последнюю отметку, а каждый полный круг возвращает в прежнюю позицию. Коробочная картинка здесь заканчивается: остаток хранит позицию, но не ведёт бухгалтерию всех прошлых кругов.

Пример

Пример сравнивает обычное деление 17 на 5 и отрицательный вход −1. На последнем шаге остаток −1 отклоняется именно из-за диапазона, хотя равенство с $q=0$ само по себе верно.

Остаток: что означает a mod m

Полные группы

После вычитания из 17 трёх групп по 5 остаётся 2.

Шаг 1 из 3: Полные группы

Все шаги текстом
  1. Полные группы

    После вычитания из 17 трёх групп по 5 остаётся 2.

    Состояние
    17текущий15текущий2текущий
  2. Отрицательный вход

    При q = −1 остаток попадает в нужный диапазон.

    Состояние
    −1текущий−5текущий4текущий
  3. Проверка диапазона

    При модуле 5 разрешены только 0, 1, 2, 3, 4.

    Состояние
    −1исключён0включён1включён2включён3включён4включён

Пара $q=0$, $r=-1$ проходит проверку равенства для входа −1, но проваливает проверку диапазона. Пара $q=-1$, $r=4$ проходит обе, поэтому выбирается она. Проверка вычисления восстанавливает исходное число как $qm+r$ и отдельно сравнивает остаток с нулём и модулем. Совпадение только одной из проверок не подтверждает правильность евклидова остатка.

Дальше: Округление вниз.

Авторский текст этой бесплатной статьи опубликован по лицензии CC BY-NC-ND 4.0.

Предыдущая / следующая

Предыдущая
Потолок числа: округление вверх
Следующая
Конечная сумма: что перебирает большая сигма
  • Натуральные числа: счёт отдельных объектов

    Какие значения подходят для счёта и почему включение нуля нужно оговаривать.

    Читать статью
    Математика
  • Целые числа: счёт по обе стороны нуля

    Положительные и отрицательные целые, ноль и граница целочисленного деления.

    Читать статью
    Математика
  • Рациональные числа: отношение целых

    Число как отношение целых: равные дроби и обязательный ненулевой знаменатель.

    Читать статью
    Математика