【问题标题】:Why does 2 mod 4 = 2?为什么 2 mod 4 = 2?
【发布时间】:2010-11-24 00:40:25
【问题描述】:

我不好意思问这么简单的问题。我的学期还有两个星期才开始,所以我不能问教授,悬念会杀了我。

为什么 2 mod 4 = 2?

【问题讨论】:

  • 因为2 = 0 * 4 + 2.
  • 在 x/y 结果中由整数部分和小数部分组成。如果将小数部分乘以除数,则得到余数。并且 x = 整数部分y + 余数(即分数部分y)。在这种情况下,整数部分为 0,余数为 2。
  • 很高兴你有勇气问这个问题。
  • 远远等于两个数。

标签: modulo


【解决方案1】:

Modulo (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)

【讨论】:

  • 和“冗长”的解释:2 = 4·0 + 2 ;-)
【解决方案2】:

mod 表示除以时的提醒。所以 2 除以 4 是 0,剩下 2。因此 2 mod 4 是 2。

【讨论】:

    【解决方案3】:

    Modulo 是余数,不是除法。

    2 / 4 = 0R2
    2 % 4 = 2
    

    符号% 通常用于模运算符,代替单词mod

    对于x % 4,你会得到下表(1-10)

     x x%4
    ------
     1  1
     2  2
     3  3
     4  0
     5  1
     6  2
     7  3
     8  0
     9  1
    10  2
    

    【讨论】:

      【解决方案4】:

      Mod 只是意味着您在执行除法后取余数。由于 4 等于 2 的 0 次,所以你最终得到 2 的余数。

      【讨论】:

        【解决方案5】:

        2 / 4 = 0,余数为 2

        【讨论】:

          【解决方案6】:

          为了以直观的方式思考它,请想象一个钟面,在您的特定示例中,它仅变为 4 而不是 12。如果您从时钟 4 开始(就像从零开始)并四处走动它顺时针旋转 2 个“小时”,你降落在 2 上,就像顺时针绕它旋转 6 个“小时”也会降落在 2 上(6 mod 4 == 2 就像 2 mod 4 == 2)。

          【讨论】:

          • 这实际上很令人困惑。
          • @do3boy:钟面的想法是一种非常简单易行的方法来准确描述模数的事实。除了使用 24 小时格式来解释它而不是修改可用位置的数量会更容易。
          【解决方案7】:

          当您将 2 除以 4 时,您会得到 0,剩下或剩余 2。模就是除数后的余数。

          【讨论】:

            【解决方案8】:

            有人联系我,让我在问题的评论中更详细地解释我的答案。所以这是我给那个人的回复,以防它可以帮助其他人:

            模运算为您提供欧几里得除法的余数 (仅适用于整数,不适用于实数)。如果你有这样的 即 A = B * C + D(其中 D

            假设您有 A 对象(您无法剪切)。你想 将相同数量的这些物品分发给 B 个人。只要 你有超过 B 个对象,你给每个对象 1,然后重复。 当您剩下少于 B 个对象时,您会停下来并保留剩余的 对象。你重复操作的次数,让我们 称那个数字C,是商。您保留的对象数量 最后,我们称它为 D,是余数。

            如果你有 2 个对象和 4 个人。你已经有少于 4 个 对象。所以每个人得到 0 个对象,你保留 2 个。

            这就是为什么 2 模 4 是 2。

            【讨论】:

              【解决方案9】:

              模运算符计算两个整数操作数相除的余数。以下是几个例子:

              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)
              

              【讨论】:

                【解决方案10】:

                我认为您对如何读取模方程感到困惑。

                当我们编写一个除法方程时,例如2/4,我们是在将 2 除以 4。

                当写一个模方程时,例如2 % 4,我们将除以2 by 4(认为 2 比 4)并返回余数。

                【讨论】:

                  【解决方案11】:

                  MOD 是余数运算符。这就是为什么 2 mod 4 给出 2 作为余数。 4*0=0,然后 2-0=2。为了更清楚,请尝试对 6 mod 4 或 8 mod 3 执行相同操作。

                  【讨论】:

                    【解决方案12】:

                    如果你使用香蕉和一群人会容易得多。

                    假设您有 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。

                    【讨论】:

                      【解决方案13】:

                      就在几分钟前,我也对此感到困惑。然后我在一张纸上进行了长手除法,这很有意义:

                      • 4 进入 2 个零次。
                      • 4乘以0就是0。
                      • 你把那个零放在 2 的下面,然后减去剩下的 2。

                      这就是计算机要解决这个问题的程度。计算机停在那里并返回 2,这是有道理的,因为这就是 "%" (mod) 所要求的。

                      我们接受过输入小数并继续前进的训练,这就是为什么一开始这可能违反直觉。

                      【讨论】:

                        【解决方案14】:

                        这是欧几里得算法。

                        例如

                        a mod b = k * b + c => a mod b = c,其中k是整数,c是答案

                        4 mod 2 = 2 * 2 + 0 => 4 mod 2 = 0

                        27 模 5 = 5 * 5 + 2 => 27 模 5 = 2

                        所以你的答案是

                        2 mod 4 = 0 * 4 + 2 => 2 mod 4 = 2

                        【讨论】:

                          【解决方案15】:

                          模是数学除法表达式的余数,以整数表示。

                          因此,假设您在屏幕上的位置 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
                          

                          【讨论】:

                            【解决方案16】:

                            为:

                            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

                            希望它对你有用:)

                            【讨论】:

                              【解决方案17】:

                              Mod 操作与提醒一起使用。

                              这称为模运算。

                               a==b(mod m) 
                               then m|(a-b)
                               a-b=km 
                               a=b+km
                               So, 2=2+0*4
                              

                              【讨论】:

                                【解决方案18】:

                                要回答模数 x % y,您需要问两个问题:

                                A- 多少次y 进入x 没有余数? 2%4 为 0。

                                B- 你需要添加多少才能从那个返回到 x ?要从 0 回到 2,您需要 2-0,即 2。

                                这些可以总结为一个问题,如下所示: 您需要将x 除以y 的整数结果加上多少才能返回x

                                整数表示只有整数,而不是任何感兴趣的分数。

                                小数除法余数(例如 .283849)对模数不感兴趣,因为模数只处理整数。

                                【讨论】:

                                  【解决方案19】:

                                  这可能是提及 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")
                                  

                                  【讨论】:

                                    【解决方案20】:

                                    我的方法是,2%4 可以解释为小于或等于 2 的 4 的最大因数,即 0,因此 2(来自 2%4 的左操作数)减去(-) 0 是 2

                                    【讨论】:

                                      猜你喜欢
                                      • 2018-02-05
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 2013-08-26
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 2015-04-07
                                      • 2012-02-04
                                      • 1970-01-01
                                      相关资源
                                      最近更新 更多