Мне стыдно задать такой простой вопрос. Мой семестр не начинается еще на две недели, поэтому я не могу попросить профессора, и неизвестность убьет меня.
В x / y результаты состоят из целой части и дробной части. Если вы умножите дробную часть на делитель, вы получите остаток. И x = целочисленная часть y + остаток (т. Е. Дробная часть y). В этом случае целочисленная часть равна 0, а остаток равен 2.
mshsayem
76
рад, что у вас хватило смелости задать этот вопрос.
проложить
по модулю гораздо больше, чем деление двух чисел.
holex
Ответы:
151
Мод просто означает, что вы берете остаток после выполнения деления. Так как 4 входит в 2 нулевых раза, у вас останется 2.
Гораздо проще, если вы используете бананы и группу людей.
Скажем, у вас есть 1 банан и группа из 6 человек, это вы бы выразили: 1 mod 6/ 1 % 6/ 1 modulo 6.
Вам нужно 6 бананов для каждого человека в группе, чтобы быть сытым и счастливым.
Таким образом, если у вас есть 1 банан и вам нужно поделиться им с 6 людьми, но вы можете поделиться им, только если у вас есть 1 банан для каждого члена группы, то есть 6 человек, тогда у вас будет 1 банан (остаток, который не будет разглашен никому в группа), то же самое касается 2 бананов. Тогда у вас будет 2 банана в качестве остатка (ничего не передается).
Но когда вы получаете 6 бананов, тогда вы должны быть счастливы, потому что тогда есть 1 банан для каждого члена в группе из 6 человек, а остаток равен 0 или не осталось бананов, когда вы разделили все 6 бананов на 6 человек.
Теперь, для 7 бананов и 6 человек в группе, у вас тогда будет 7 mod 6 = 1 , потому что вы дали 6 человек 1 банан каждый, а 1 банан - остаток.
Для 12 mod 6или 12 бананов, разделенных на 6 человек, у каждого будет по два банана, а остаток равен 0.
Меня это тоже смутило всего несколько минут назад. Затем я сделал разделение длинной рукой на листе бумаги, и это имело смысл:
4 входит в 2 ноль раз.
4 раза 0 - это 0.
Вы помещаете этот ноль в 2 и вычитаете, что оставляет 2.
Это так далеко, как компьютер собирается решить эту проблему. Компьютер останавливается и возвращает 2, что имеет смысл, так как это то, что «%» (мод) просит.
Мы были обучены вводить десятичную дробь и продолжать движение, поэтому поначалу это может быть нелогичным.
Кто-то связался со мной и попросил объяснить более подробно мой ответ в комментарии к вопросу. Итак, вот что я ответил этому человеку в случае, если он может помочь кому-то еще:
Операция по модулю дает вам остаток от евклидова деления (который работает только с целыми числами, а не с действительными числами). Если у вас есть A такое, что A = B * C + D (с D <B), то частное евклидова деления A на B равно C, а остаток равен D. Если вы поделите 2 на 4, частное равно 0 и остаток 2.
Предположим, у вас есть объекты А (которые вы не можете разрезать). И вы хотите распределить такое же количество этих объектов среди людей. Пока у вас больше, чем B объектов, вы даете каждому из них 1 и повторяете. Когда у вас осталось менее B объектов, вы останавливаетесь и сохраняете оставшиеся объекты. Число раз, когда вы повторили операцию, давайте назовем это число C, это частное. Количество объектов, которые вы держите в конце, назовем это D, является остатком.
Если у вас есть 2 объекта и 4 человека. У вас уже есть менее 4 объектов. Таким образом, каждый человек получает 0 объектов, а вы оставляете 2.
Оператор по модулю вычисляет остаток от деления двух целочисленных операндов. Вот несколько примеров:
23 % 10 evaluates to 3 (because 23/10 is 2 with a remainder of 3)
50 % 50 evaluates to 0 (50/50 is 1 with a remainder of 0)
9 % 100 evaluates to 9 (9/100 is 0 with a remainder of 9)
Modulo - это остаток от выражения математического деления в виде целого числа.
Итак, предположим, что у вас есть пиксель на экране в позиции 90, где экран имеет ширину 100 пикселей и добавьте 20, он переместится в позицию 10. Почему ... потому что 90 + 20 = 110, поэтому 110% 100 = 10.
Для меня, чтобы понять это, я считаю, что по модулю целое представление дробного числа. Более того, если вы сделаете выражение в обратном порядке и обработаете остаток как дробное число, а затем добавите к делителю, он даст вам ваш первоначальный ответ.
Примеры:
100
(A) --- = 14 mod 2
7
123
(B) --- = 8 mod 3
15
3
(C) --- = 0 mod 3
4
Мод является оператором остатка. Вот почему 2 мод 4 дает 2 в качестве остатка. 4 * 0 = 0, а затем 2-0 = 2. Чтобы сделать это более понятным, попробуйте сделать то же самое с 6 мод 4 или 8 мод 3.
Мы можем использовать эту небольшую формулу, которую я придумал, немного подумав, может быть, она уже определена где-то, чего я не знаю, но работает для меня, и это действительно полезно.
A mod B = C где C ответ
K * B - A = |C| где K сколько раз B помещается в A
Для наглядного представления об этом представьте себе циферблат, который, в вашем конкретном примере, идет только к 4 вместо 12. Если вы начинаете с 4 на часах (что похоже на начало с нуля) и вращаетесь по часовой стрелке для 2 часа, вы приземляетесь на 2, точно так же, как если вы обойдете его по часовой стрелке в течение 6 часов, вы также попадете на 2 (6 мод 4 == 2, как 2 мод 4 == 2).
@ do3boy: идея циферблата - очень простой и легкий способ точно описать факт по модулю. за исключением того, что было бы проще использовать 24-часовой формат для его объяснения, а не изменять количество доступных позиций.
Atmocreations
0
Это может быть хорошее время для упоминания функции modr (). Возвращает как целую, так и оставшуюся часть деления.
print("\n 17 // 3 =",17//3," # Does the same thing as int(17/3)")
print(" 17 % 3 =",17%3," # Modulo division gives the remainder.")
whole, remain = divmod(17,3)
print(" divmod(17,3) returns ->",divmod(17,3),end="")
print(" because 3 goes into 17,",whole,"times with a remainder of",remain,end=".\n\n")
2 = 0 * 4 + 2
.Ответы:
Мод просто означает, что вы берете остаток после выполнения деления. Так как 4 входит в 2 нулевых раза, у вас останется 2.
источник
По модулю это остаток, а не деление.
Знак
%
часто используется для оператора по модулю вместо словаmod
.Для
x % 4
, вы получите следующую таблицу (для 1-10)источник
Modulo (mod,%) является оператором остатка.
источник
Гораздо проще, если вы используете бананы и группу людей.
Скажем, у вас есть 1 банан и группа из 6 человек, это вы бы выразили:
1 mod 6
/1 % 6
/1 modulo 6
.Вам нужно 6 бананов для каждого человека в группе, чтобы быть сытым и счастливым.
Таким образом, если у вас есть 1 банан и вам нужно поделиться им с 6 людьми, но вы можете поделиться им, только если у вас есть 1 банан для каждого члена группы, то есть 6 человек, тогда у вас будет 1 банан (остаток, который не будет разглашен никому в группа), то же самое касается 2 бананов. Тогда у вас будет 2 банана в качестве остатка (ничего не передается).
Но когда вы получаете 6 бананов, тогда вы должны быть счастливы, потому что тогда есть 1 банан для каждого члена в группе из 6 человек, а остаток равен 0 или не осталось бананов, когда вы разделили все 6 бананов на 6 человек.
Теперь, для 7 бананов и 6 человек в группе, у вас тогда будет
7 mod 6 = 1
, потому что вы дали 6 человек 1 банан каждый, а 1 банан - остаток.Для
12 mod 6
или 12 бананов, разделенных на 6 человек, у каждого будет по два банана, а остаток равен 0.источник
2/4 = 0 с остатком 2
источник
Меня это тоже смутило всего несколько минут назад. Затем я сделал разделение длинной рукой на листе бумаги, и это имело смысл:
Это так далеко, как компьютер собирается решить эту проблему. Компьютер останавливается и возвращает 2, что имеет смысл, так как это то, что «%» (мод) просит.
Мы были обучены вводить десятичную дробь и продолжать движение, поэтому поначалу это может быть нелогичным.
источник
Кто-то связался со мной и попросил объяснить более подробно мой ответ в комментарии к вопросу. Итак, вот что я ответил этому человеку в случае, если он может помочь кому-то еще:
источник
Оператор по модулю вычисляет остаток от деления двух целочисленных операндов. Вот несколько примеров:
источник
мод означает напоминание при делении на. Таким образом, 2, деленное на 4 - это 0 с 2 оставшимися. Поэтому 2 mod 4 равно 2.
источник
Modulo - это остаток от выражения математического деления в виде целого числа.
Итак, предположим, что у вас есть пиксель на экране в позиции 90, где экран имеет ширину 100 пикселей и добавьте 20, он переместится в позицию 10. Почему ... потому что 90 + 20 = 110, поэтому 110% 100 = 10.
Для меня, чтобы понять это, я считаю, что по модулю целое представление дробного числа. Более того, если вы сделаете выражение в обратном порядке и обработаете остаток как дробное число, а затем добавите к делителю, он даст вам ваш первоначальный ответ.
Примеры:
Реверс разработан для:
источник
Когда вы делите 2 на 4, вы получаете 0 с двумя оставшимися или оставшимися. По модулю это только остаток от деления числа.
источник
Я думаю, вы запутались из-за того, как читается уравнение по модулю.
Когда мы пишем уравнение деления, такое как
2/4
мы делим 2 на 4.Когда пишется уравнение по модулю, такое как
2 % 4
мы делим2 by 4
(подумайте 2 над 4) и возвращаем остаток.источник
Мод является оператором остатка. Вот почему 2 мод 4 дает 2 в качестве остатка. 4 * 0 = 0, а затем 2-0 = 2. Чтобы сделать это более понятным, попробуйте сделать то же самое с 6 мод 4 или 8 мод 3.
источник
Это алгоритм Евклида.
например
a mod b = k * b + c => a mod b = c, где k - целое число, а c - ответ
4 мод 2 = 2 * 2 + 0 => 4 мод 2 = 0
27 мод 5 = 5 * 5 + 2 => 27 мод 5 = 2
так что ваш ответ
2 мод 4 = 0 * 4 + 2 => 2 мод 4 = 2
источник
Для:
2 mod 4
Мы можем использовать эту небольшую формулу, которую я придумал, немного подумав, может быть, она уже определена где-то, чего я не знаю, но работает для меня, и это действительно полезно.
A mod B = C
где C ответK * B - A = |C|
где K сколько раз B помещается в A2 mod 4
было бы:0 * 4 - 2 = |C|
C = |-2| => 2
Надеюсь, это работает для вас :)
источник
Работа мода работает с напоминанием.
Это называется модульной арифметикой.
источник
Ответить по модулю
x % y
, вы задаете два вопроса:A- Сколько раз
y
уходитx
без остатка? Для 2% 4 это 0.B- Сколько вам нужно добавить, чтобы получить от этого обратно
x
? Чтобы вернуться от 0 к 2, вам нужно 2-0, то есть 2.Их можно суммировать в одном вопросе, например, так: Сколько вам нужно добавить к целочисленному результату деления
x
наy
, чтобы вернуться к немуx
?Под целочисленным пониманием подразумеваются только целые числа, а не дроби, представляющие интерес.
Остаток от дробного деления (например,. 283849) не представляет интереса по модулю, поскольку по модулю имеет дело только с целыми числами.
источник
Для наглядного представления об этом представьте себе циферблат, который, в вашем конкретном примере, идет только к 4 вместо 12. Если вы начинаете с 4 на часах (что похоже на начало с нуля) и вращаетесь по часовой стрелке для 2 часа, вы приземляетесь на 2, точно так же, как если вы обойдете его по часовой стрелке в течение 6 часов, вы также попадете на 2 (6 мод 4 == 2, как 2 мод 4 == 2).
источник
Это может быть хорошее время для упоминания функции modr (). Возвращает как целую, так и оставшуюся часть деления.
источник