One can perform arithmetic of fractions mod $,m,$ as long as all fractions $,a/b,$ have denominator $,b,$ coprime to $,m,,$ since then, by Bezout, $,b,$ is invertible mod $,m,$ so the fraction has the unique denotation $,x = a/b = ab^{-1}$ (the unique solution of $,bx = a).,$ The usual rules of fraction arithmetic remain true (as long as one restricts to such fractions), e.g. from a prior answer:
Hint $, {rm mod} 13!: dfrac{41}7 equiv dfrac{28}7 equiv 4 $ by $ 41equiv 41!-!13 equiv 28$
Alternatively $, dfrac{41}{7}equivdfrac{(-2)(-1)}{-6}equiv dfrac{-2}{-2}dfrac{12}3equiv 4 $ by $ begin{eqnarray}41&&!!equiv 2\ 7 &&!!equiv -6end{eqnarray}$
Alternatively $, dfrac{41}{7}equiv dfrac{2}7equiv dfrac{4}{14}equiv dfrac{4}1 $ by Gauss’s Algorithm.
Such twiddling (adding/subtracting the modulus from numerator or denominator till things divide or factor nicely) works quite well for small numbers. For larger numbers one can invert the denominator by the Extended Euclidean Algorithm, or Gauss’s algorithm if the modulus is prime.
Beware $ $ The use of fractions in modular arithmetic is valid only when the denominator is invertible, i.e. coprime to the modulus. Otherwise the quotient need not be unique, for example mod $rm:10,:$ $rm:4,xequiv 2:$ has solutions $rm:xequiv 3,8,:$ so the “fraction” $rm:x equiv 2/4pmod{10},$ cannot designate a unique solution of $,4xequiv 2.,$ Indeed, the solution is $rm:xequiv 1/2equiv 3pmod 5,,$ which requires canceling $,2,$ everywhere, i.e. from the modulus too, since $rm:10:|:4x-2iff5:|:2x-1.:$
Generally the grade-school rules of fraction arithmetic apply universally (i.e. in all rings) where the denominators are invertible. This fundamental property will be clarified conceptually when one learns in university algebra about the universal properties of fractions rings and localizations.
Модулярная арифметика
Калькулятор выполняет арифметические операции по заданному модулю.
Калькулятор решает заданное математическое выражение по модулю с отображением пошагового решения. Можно просто ввести целое число – калькулятор вычислит его остаток от деления по модулю. Также можно использовать следующие операции:
- + сложение по модулю
- – вычитание по модулю
- * умножение по модулю
- / деление по модулю ( операция доступна для всех чисел только тогда, когда модуль – простое число )
- ^ возведение в степень
- () группировка выражений
Вычисления по модулю
Симметричное представление
Файл очень большой, при загрузке и создании может наблюдаться торможение браузера.
Ссылка скопирована в буфер обмена
Похожие калькуляторы
- • Решение сравнений по модулю
- • Простая дробь по модулю
- • Обратный элемент в кольце по модулю
- • Обратная матрица по модулю
- • Быстрое возведение в степень по модулю
- • Раздел: Алгебра ( 46 калькуляторов )
PLANETCALC, Модулярная арифметика
Сообщения без ответов | Активные темы | Избранное
Правила форума
В этом разделе нельзя создавать новые темы.
Вычисление дробей по модулю целого числа
izebit |
Вычисление дробей по модулю целого числа 22.05.2011, 13:00 |
22/05/11 |
Столкнулся с проблемой вычисления дроби по модулю целого числа, например 1/2 mod 23. Разъясните пожалуйста, как это посчитать
|
|
|
ИСН |
Re: Вычисление дробей по модулю целого числа 22.05.2011, 13:08 |
||
18/05/06 |
Никак, пока Вы не определите, что понимаете под этим.
|
||
|
|||
Модераторы: Модераторы Математики, Супермодераторы
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |
Я застрял на этой проблеме криптографии, используя умножение целого числа и дроби по модулю 10.
Вот уравнение:
7 * (4/11) mod 10 =?
Я знаю, что должен преобразовать это в целое число, поскольку оператор мода не работает с дробями, но я не могу понять это. Очевидно,
7 * (4/11) = 28/11,
Но я не могу получить мод 10 дроби. Преподаватель хочет получить точный ответ, а не десятичную дробь. Любая помощь будет принята с благодарностью!
6 ответов
Лучший ответ
8
8 – действительно правильный ответ.
7*4/11 mod 10
означает, что мы смотрим на 7*4*x mod 10
, где x является модульным обратным к 11 по модулю 10, что означает, что 11*x mod 10 = 1
. Это верно для x=1
(11*1 mod 10 = 1
)
Таким образом, 7*4*x mod 10
становится 7*4*1 mod 10
, что является 28 mod 10 = 8
5
Cabbie407
6 Сен 2015 в 05:48
Итак, вот правильный ответ инструктора. Понятия не имею, как он это придумал:
7 4/11 mod 10 = ((7 4) mod 10)(11−1 mod 10) mod 10
= (28 mod 10)(1 mod 10) mod 10
= (8)(1) mod 10
= 8 mod 10
1
ComputerScientist123
10 Сен 2015 в 19:19
Так, вероятно, должен был быть написан исходный вопрос, поскольку это имеет другое значение. Когда (mod 10)
написано в конце, это означает, что каждый термин оценивается с подразумеваемая операция mod 10
.
Проблема немного странная, поскольку значение по модулю 10 не является универсальным, потому что оно не является простым. Например, следующее не может быть оценено, потому что 1/2 mod 10
не определено, потому что 2 и 10 не являются взаимно простыми.
1
Mark Lakata
6 Сен 2015 в 16:28
Я могу предположить, что обозначение неверно и что все выражение должно оцениваться по модулю 10 на каждом промежуточном этапе. Поскольку (11 mod 1) равно 1, то ответ будет (7 * 4) mod 10 = 8.
Представьте себе калькулятор с поддержкой только одной цифры.
Я не говорю, что это правильный ответ, я согласен, что 28/11 – правильный ответ, но я пытаюсь проникнуть в голову профессора. Это обычное дело в криптографии, где каждое вычисление выполняется по модулю 2 ^ 256 или около того.
1
Mark Lakata
6 Сен 2015 в 05:27
Посмотрите здесь: “ Возможно ли выполнить по модулю дроби “на math.stackexchange.com.
Один естественный способ определить модульную функцию – это
a (mod b) = a – b ⌊a / b⌋
где ⌊⋅⌋ обозначает функцию пола. Это подход, использованный во влиятельной книге Конкретная математика Грэма, Кнута, Паташника.
Это даст вам 1/2 (mod3) = 1/2.
Чтобы решить вашу проблему, у вас есть a = 7 * (4/11) = 28/11
и b = 10
.
a / b
= (28/11) / 10 = 0,25454545 …
⌊a/b⌋
= 0
b ⌊a/b⌋
= 0 * 0 = 0
a - b ⌊a/b⌋
= 28/11 – 0 = 28/11
Это означает, что ваш ответ – 28/11.
Wolfram Alpha согласен со мной и дает 28/11
как точный результат. Google тоже соглашается, но дает его в виде десятичной дроби, 2,54545454 …..
Дробь – это точный ответ, а не десятичная дробь.
4
Community
20 Июн 2020 в 09:12
Используя Python:
from fractions import Fraction
from math import fmod
print (fmod(Fraction(28, 11), 10))
Результат будет 2,545454545454. Так что я думаю, что 8 неверно.
0
Milbrae
15 Дек 2017 в 15:18
Операция сложения по модулю
Важной
операцией в информатике является
сложение по модулю. Это операция
арифметического сложения, при котором
единица переноса в старший разряд, если
таковая образуется при поразрядном
сложении, отбрасывается. Обычно при
выполнении этой операции конкретизируют,
о каком модуле идет речь, например, по
модулю 10,
или по модулю 2, или по модулю 16. Обозначается
эта операция
.
Таблица
сложения двоичных чисел по модулю 2
приведена ниже (обозначения строк и
столбцов соответствуют слагаемым):
-
0
1
0
0
1
1
1
0
Обратите
внимание, при сложении по модулю 1+1=0
!
Перевод дробных чисел
Что бы перевести дробное
необходимо выполнять следующие действия:
-
последовательно умножать
данное число и получаемые дробные части
произведений на основание новой системы
до тех пор, пока дробная часть произведения
не станет равной нулю или не будет
достигнута требуемая точность
представления числа в новой системе
счисления; -
полученные целые части
произведений, являющиеся цифрами числа
в новой системе счисления, привести в
соответствие с алфавитом новой системы
счисления; -
составить дробную часть
числа в новой системе счисления, начиная
с целой части первого произведения.
Рассмотрим пример в
общем виде:
Пусть X
– правильная дробь, которую нужно
перевести в Q
– ичную систему.
Так как X
< 1, то число X
в Q
– ичной системе можно представить в
виде
X
= b-1Q-1
+ b-2Q-2
+ . . . + b–m
Q–m
+ . . . , где bi
– искомые коэффициенты Q
– ичного разложения числа X.
Для определения bi
умножим левую и правую часть на число
Q
пользуясь правилами Р – ичной арифметики,
тогда
XQ
= b-1
+ b-2Q-1
+ . . . + b–m
Q–m+1
+ . . .
Приравнивая полученные
целые и дробные части получим
[xQ]
= b-1
{XQ}
= b-2Q-1
+ . . . + b–m
Q–m+1
+ . . .
Таким образом коэффициент
b
-1 в разложении определяется соотношением
[xQ]
= b-1
Положим
X1
= b-2Q-1
+ . . . + b–m
Q–m+1
+ . . .
Тогда X1
будет правильной дробью и для определения
b-2
можно применить туже самую процедуру.
Если принять, что X0
= X
, то перевод дроби с использованием Р –
ичной арифметики осуществляется по
следующим рекуррентным соотношениям:
b-(i+1) = [XiQ],
Xi+1
=
{XiQ}, i = 0, 1, 2, …
Процесс продолжается
до тех пор, пока не будет получено Xi+1
= 0 или не будет
достигнута требуемая точность изображения
числа. Точность определяется количеством
цифр учитываемых после запятой.
Internet
ресурсы по данной теме:
-
http://comp-science.hut.ru/Progr/Syst_Sch.html
-
http://www.ctc.msiu.ru/materials/Book1/1_intro/01_inform/060_chisl/index.html
34
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #