Подключиться через MCP →

Введите расчет

Математическая формула

Реклама

Результатов

Наименьший неотрицательный остаток
6
результат лежит в диапазоне от 0 до n − 1
Значение выражения (до взятия по модулю) 42
Модуль n 12

Что такое калькулятор модулярной арифметики?

Модулярная арифметика — это «арифметика часов»: числа «зацикливаются» после того, как достигают фиксированного модуля n. Этот калькулятор вычисляет выражение вида (a op b) mod n, где операцией может быть сложение, вычитание, умножение или просто приведение одного числа a по модулю n. Результатом всегда становится наименьший неотрицательный остаток — число от 0 до n − 1.

Круговое кольцо чисел от 0 до 11 со стрелкой, показывающей, как значения замыкаются по кругу
Модульная арифметика заворачивает числа по кругу размером n.

Как пользоваться

Введите значение a, выберите операцию, задайте b (не учитывается в режиме «Только по модулю») и укажите модуль n. Сначала калькулятор вычисляет само выражение, а затем приводит его по модулю n. Отрицательные результаты «оборачиваются» в стандартный диапазон 0…n−1, поэтому \(-1 \bmod 12\) даёт 11, а не −1.

Разбор формулы

Основное соотношение — это $$r = (a \mathbin{\text{op}} b) \bmod n.$$ Поскольку остаток в «программистском» стиле может оказаться отрицательным, мы используем евклидову форму $$r = ((x \bmod n) + n) \bmod n,$$ гарантирующую неотрицательный ответ. Именно так принято в теории чисел, криптографии и хешировании.

Реклама
Числовая прямая, разбитая на равные блоки, показывающая отображение отрицательных значений в неотрицательные остатки
Отрицательные числа отображаются в тот же наименьший неотрицательный остаток от 0 до n-1.

Пример с решением

Пусть \(a = 17\), операция — сложение, \(b = 25\) и \(n = 12\). Сначала считаем \(17 + 25 = 42\). Затем \(42 \bmod 12\): $$42 = 3 \times 12 + 6,$$ поэтому остаток равен 6. На 12-часовом циферблате «17 + 25 часов» приведут к отметке 6.

Частые вопросы

Что означает «mod»? Это остаток от деления. \(13 \bmod 5 = 3\), потому что \(13 = 2 \times 5 + 3\).

Почему моё отрицательное число стало положительным? Мы возвращаем наименьший неотрицательный остаток. Например, \(-7 \bmod 5 = 3\), так как, прибавив 5 дважды (\(-7 + 10 = 3\)), мы попадаем в диапазон 0…4.

А если n = 1? Любое целое число сравнимо с 0 по модулю 1, поэтому результат всегда равен 0.

Последнее обновление: