Операция нахождения остатка от деления называется делением по модулю Когда вы делите a на b, то запись в виде ‘a mod b’ означает получение остатка. Его еще называют остатком от деления. Используйте этот калькулятор для выполнения деления по модулю и нахождения остатка от деления.
Онлайн-калькулятор деления по модулю
Операция нахождения остатка от деления называется делением по модулю Когда вы делите a на b, то запись в виде ‘a mod b’ означает получение остатка. Его еще называют остатком от деления. Используйте этот калькулятор для выполнения деления по модулю и нахождения остатка от деления.
Ещё для более лучше запоминания могу объяснить для этого частого случая так :
если дано выражение x mod 2
то оно будет равно 1 тогда и только тогда, когда x — нечётно,
и равно 0, если x — чётно.
И напомню, что выражение mod возвращает остаток от деления, а не само частное.
А частное из этого выражения как раз таки будет равно 0.
Добавлено позднее:
JustInTime, парень, ты уже конкретно запутался. Остаток — это всегда целое число.
такое выражение как «x mod y » всегда вернёт остаток в пределах от [0 .. y-1].
2 Lexicss
Вы правы, запутался я конкретно.
Но вот смотрите. К примеру
2 mod 5=2
3 mod 5=3
4 mod 5=4
Представим формулу(x mod y)
Если х =y то на выходе будет 1 или 0
Цитата (JustInTime @ 27.11.2007, 18:28) |
Если x>=y то на выходе будет 1 или 0 |
Вот это утверждение уже не верно.
возвращать это выражение будет 1 или 0 только тогда когда y = 2, т.е. [0 .. y-1]
Остаток будет всегда нулевым, если выражение делится нацело, например 6 mod 3, 10 mod 2, 24 mod 3
Если же нацело не делится, то тогда остаток ненулевой.
Вот полный пример, я думаю что станет понятнее:
x div y = a //целочисленное деление с остатком
x mod y = b //взятие остатка от деления (или деление по модулю)
из этой системы уравнений справедливо равенство: x = y*a + b
Частный случай: пускай x = 25, y = 4
тогда имеем
25 div 4 = 6
25 mod 4 = 1
в итоге получаем справедливое равенство: 25 = 4*6 + 1
Надеюсь, это хоть понятно почему 25 div 4 = 6 ?
JustInTime, не так.
Происходит целочисленное деление, остаток от которого возвращает оператор mod.
К примеру:
4 mod 2, результат деления 2, остаток 0
11 mod 3, результат деления 3, остаток 2
17 mod 5, результат 3 остаток 2
1 mod 2, результат 0 остаток 1
Можно ещё вот так на пальцах объяснить, доходчевее придумать, уже и не знаю как.
Нас 4 человека и у нас есть 25 яблок. Нам надо поделить по-ровну между собой эти яблоки, при условии что разрезать эти яблоки нельзя. В итоге каждый из нас получит по 6 яблок(25 div 4 = 6), однако 6*4 = 24, т.е. раздав каждому из 25-ти яблок по 6 у нас 1 яблоко осталось лишним(25 mod 4 = 1).
Вот эта описанная ситуация с яблоками и объясняет принцип целочисленного деления и остаток от него.
Спасибо Вам огромное. Теперь все ясно.
Объяснили лучше чем в учебниках.
Вопрос конечно интересный, но.
Что возвращает mod при делении меньшего числа на большее?
5 mod 3 = 2 в остатке. Здесь все правильно.
3 mod 5 а так? Мне возвращает 3, но почему не могу понять.
Что такое остаток, тем более от деления, тем более яблок, понятно.
А вот как понять такую запись:
d * e = 1 mod Ф (n)
Ф (n) — чтобы здесь ни было, ЕДИНИЦА деленная на Ф (n) в остатке даст 1,
если конечно Ф (n) не равно единице, так ?
Зачем тогда вообще такая запись, сразу бы и написать =1
Цитата (Сisa @ 19.3.2013, 15:05 ) |
e * d = 1 mod Ф(n) |
Если p — простое число, и a не делится на p, то
Другими словами, a^p-1 при делении нацело на p даёт в остатке 1.
Вот что значит читать, в смысле правильно, то что в формуле записано.
т.е. тот значок из трех горизонтальных полосок и означает вот то лишнее что записано справа от 1
Глядя на формулу я и читал так —
а в степени ( p минус единица ) равно остатку от деления единицы на p.
bems спасибо! Ключевое слово == читаем формулировку ,
оказывается смотреть на формулу как то недостаточно для некоторых
Теперь начинает вырисовываться начало примера RSA для самых примитивных чисел:
a=5 ;
p=3 ;
степень=5^(3-1) =>>>> 25 ;
25 mod 3 =>>>> 1 ;
И на этом месте обычно оцифрованные примеры и заканчиваются, и дальше формулы, в которых есть и полоски и значки и масса ссылок на теорию.
Чтобы дальше не сбиться с курса, не найдется ли у Вас терпения довести пример в малых цифрах до победы?
Ответ
Проверено экспертом
- Комментарии (2)
- Отметить нарушение
Ответ
Проверено экспертом
Абстрактная функция mod принемает в класическом понимании два параметра:
Результатом этой функции будет не отприцательный остаток целочисленного деления этих чисел.
Что бы понять как работает функция, её можно представить следующим алгоритмом написанном на псевдокоде:
- function mod (integer numerator, integer denumerator)
- <
- integer wholeQuotient = numerator / denumerator;
- integer remainder = numerator — wholeQuotient;
- integer returnValue = 0;
- if (0