Answers:
余数(mod,%)是余数运算符。
2%2 = 0 (2/2 = 1 remainder 0)
1%2 = 1 (1/2 = 0 remainder 1)
4%2 = 0 (4/2 = 2 remainder 0)
5%2 = 1 (5/2 = 2 remainder 1)
如果您使用香蕉和一群人,要容易得多。
假设您有1个香蕉和6人一组,您将表示:1 mod 6
/ 1 % 6
/ 1 modulo 6
。
每个小组中的每个人需要6根香蕉,以使其饱食和快乐。
因此,如果您有1根香蕉并需要与6个人共享,但只有每个组成员有1根香蕉(即6个人)时,您才能共享,那么您将有1根香蕉(剩余的,不与任何人共享)组),同样适用于2个香蕉。然后,您将剩下2根香蕉(什么都没有共享)。
但是,当您获得6根香蕉时,您应该感到很高兴,因为这样一来,6人一组中的每个成员都有1根香蕉,当您将6根香蕉全部共享给6个人时,剩下的就是0或没有香蕉了。
现在,对于7个香蕉和6个人,您将拥有7 mod 6 = 1
,这是因为您给6个人每个香蕉1个人,剩下的则是1个人。
对于12 mod 6
6个人共享的12根香蕉,每个香蕉将拥有2根香蕉,其余为0。
有人联系我,请我在问题评论中详细解释我的回答。所以这是我对那个人的答复,以防它可以帮助任何其他人:
模运算可为您提供欧几里得除法的其余部分(仅适用于整数,不适用于实数)。如果您的A等于A = B * C + D(且D <B),则A的欧几里德除以B的商为C,余数为D。如果将2除以4,则商为0,其余为2。
假设您有一个A对象(您无法剪切)。您想将相同数量的这些对象分发给B人。只要您有B个以上的对象,就可以给每个对象1个并重复。当剩余的对象少于B个时,您将停止并保留其余的对象。重复操作的次数称为商C。最后保留的对象数(称为D)是余数。
如果您有2个对象和4个人。您已经少于4个对象。这样每个人得到0个对象,而您保留2个。
这就是2模4为2的原因。
模数是数学除法表达式的余数,用整数表示。
因此,假设您在屏幕上的一个像素位于位置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 14(7) 2 98 2 100
(A) 14 mod 2 = 14 + --- = ----- + --- = --- + --- = ---
7 7 7 7 7 7
3 8(15) 3 120 3 123
(B) 8 mod 3 = 8 + --- = ----- + --- = --- + --- = ---
15 15 15 15 15 15
3 3
(B) 0 mod 3 = 0 + --- = ---
4 4
这是欧几里得算法。
例如
a mod b = k * b + c => a mod b = c,其中k是整数,c是答案
4 mod 2 = 2 * 2 + 0 => 4 mod 2 = 0
27 mod 5 = 5 * 5 + 2 => 27 mod 5 = 2
所以你的答案是
2 mod 4 = 0 * 4 + 2 => 2 mod 4 = 2
对于:
2 mod 4
我们可以使用经过思考后想出的这个小公式,也许它已经定义在我不知道但对我有用的地方,并且它确实有用。
A mod B = C
其中C是答案
K * B - A = |C|
其中K是B容纳在A中的次数
2 mod 4
将是:
0 * 4 - 2 = |C|
C = |-2| => 2
希望对你有帮助 :)
为了以一种直观的方式进行思考,请想象一下一个钟面,在您的特定示例中,该钟面仅变为4而不是12。如果您从时钟的4开始(就像从零开始),然后顺时针旋转它2个“小时”,您将落在2上,就像顺时针旋转6个“小时”也将您落在2上(6 mod 4 == 2就像2 mod 4 == 2)。
这可能是提及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
。