我目前正在编写一个需要计算的程序:
(x ^ 2)mod y
这两个数字都是整数。两者都可以是大数字,但它们永远不会超过10 ^ 9。
对于x平方,这仍然足以溢出整数。速度对于此代码至关重要,因此逐渐乘法不可用。
谢谢。
答案 0 :(得分:0)
您可以从this post
中获取参考这应该是一个相对简单的例子。 4 ^ 23 = 2 ^ 46。现在,因为2 ^ 5 =32≡1(mod31),
2 ^ 46 =(2 ^ 5)9×2 = 32 ^ 9×2≡1×2≡2(mod31)
答案 1 :(得分:0)
解决方案非常简单。我使用Long,而不是int,它可以工作。