【问题标题】:Finding modulo of large numbers squared求大数平方的模
【发布时间】:2014-03-18 23:43:00
【问题描述】:

我目前正在编写一个需要计算的程序:

(x^2) 模 y

这两个数字都是整数。两者都可以是很大的数字,尽管它们永远不会超过 10^9。

这仍然足以溢出 x 平方的整数。速度对于此代码至关重要,因此无法使用渐进式乘法。

谢谢。

【问题讨论】:

标签: integer modulo


【解决方案1】:

您可以参考this post

这应该是一个相对简单的例子。 4^23=2^46。现在,由于 2^5=32≡1(mod31),

2^46=(2^5)9×2=32^9×2≡1×2≡2(mod31)

【讨论】:

    【解决方案2】:

    解决方案非常简单。我使用 Long,而不是 int,它可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      相关资源
      最近更新 更多