Как в учебнике
Для целого $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: Полные группы
Все шаги текстом
Полные группы
После вычитания из 17 трёх групп по 5 остаётся 2.
- Состояние
- 17текущий15текущий2текущий
Отрицательный вход
При q = −1 остаток попадает в нужный диапазон.
- Состояние
- −1текущий−5текущий4текущий
Проверка диапазона
При модуле 5 разрешены только 0, 1, 2, 3, 4.
- Состояние
- −1исключён0включён1включён2включён3включён4включён
Пара $q=0$, $r=-1$ проходит проверку равенства для входа −1, но проваливает проверку диапазона. Пара $q=-1$, $r=4$ проходит обе, поэтому выбирается она. Проверка вычисления восстанавливает исходное число как $qm+r$ и отдельно сравнивает остаток с нулём и модулем. Совпадение только одной из проверок не подтверждает правильность евклидова остатка.
Дальше: Округление вниз.