【问题标题】:trying to better understand modulo calculation试图更好地理解模计算
【发布时间】:2014-09-24 10:14:48
【问题描述】:

例如给定以下数模 55

74627282173621618272362 % 55 = 47

为什么要拆分号码;以 55 为模计算第一部分;在第二部分前面添加结果并再次使用模55;再次产生相同的结果?

使用上面的例子:

746272821736 % 55 = 46

'46' + '21618272362' = 4621618272362

4621618272362 % 55 = 47

如果您使用上述方法逐位计算数字,结果相同

7 % 55 = 7

'7' + '4' = 74 % 55 = 19

'19' + '6' = 196 % 55 = 31

'31' + '2' = 312 % 55 = 37

....

结果 = 47

有人能解释一下为什么吗?

【问题讨论】:

  • 我猜这是随机工作,常规数字似乎没有任何模式!意思是,我觉得这只是一个巧合。不过,有人可能会来magic stick
  • 我用不同的长度和数字对其进行了测试,导致相同的行为。
  • 您介意提供一些其他示例,除了您在问题中提到的示例
  • 例如123456789 //// 123456789 % 4 = 1 //// 1 % 4 = 1; 12% 4 = 0; 03% 4 = 3; 34 % 4 = 2 依此类推 //// 结果 = 1

标签: math modulo


【解决方案1】:

之所以如此,是因为这里持有的属性是基本的,并且是

Dividend = Divisor * Quotient + Remainder

这都是因为长除法。

我正在为你准备一个问题。

例如:- 123456789 % 4

这里,

55 ) 123456789 ( 22...
    -110_______
      13456789   // here, you'd have replaced it as 13456789 which indeed comes from long-division
     -110_____
       2456789   // here, you'd have replaced it as 2456789 which indeed comes from long-division

之所以如此,是因为其余部分本身被放在了 long-division 方法正好低于数字,以便数字得到 减少并且下一阶段的数字被剩余的余数替换 后面加上未除数。

您引用的内容与本案没有什么不同。

所以,你会看到,一旦你找到一个在 之间,您可以删除余数为 0 的数字。 然后,假设它是给定的,然后从其他数字重新开始 数字。这肯定是公式类型的东西。

但是,您的假设是正确的,并且是我们在制定余数/模的长除法方法中使用的!

【讨论】:

  • 我认为您误解了这个问题。请再次阅读帖子。
  • 哦,等等!我正在编辑我的答案。我真的误解了这个问题。感谢您的指点!
  • 感谢您编辑您的第一个答案,但我认为我们仍然在谈论不同的事情。您能否为您的答案提供另一个示例?我无法完全理解您的长除法是如何指代我的 #1 问题的。谢谢
  • 1234 % 5; 12/5 产生 2 作为余数,因此在长除法中,下面复制的数字将是 234。同样,234 % 5;余数=4。那么,44 % 5 = 4。因此,净结果 = 4。此外,1234%5=4。我想这是一个通过长除法演示的清晰和更好的例子!如果您仍有疑问,请留下相应的评论。请不要问一个完整的例子,问你看不懂的具体点!
  • 很高兴我让你远程理解了这件事,这对初见者来说真是一个好问题!谢谢,也已经支持你的问题了!
猜你喜欢
  • 2016-01-20
  • 1970-01-01
  • 2014-02-11
  • 1970-01-01
  • 1970-01-01
  • 2018-07-05
  • 2011-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多