如何计算(a / b)%m其中a = x1 * x2 * ....且数字x1,x2,...非常大。
如果我们只需要找到%m,我们就可以轻松地使用(x1%m)*(x2%m)* ...但是如果在分母中有某些东西,那么b'在我们的例子中,如何计算它?
我读到的地方是(a%(m * b))/ b。我一直想知道这是否属实,我们如何去证明呢?
答案 0 :(得分:0)
你至少可以做到这一点:
b * ((a / b) % m) = (b * (a / b)) % (b * m)
= (a - (a % b)) % (b * m)
= (a % (b * m) - (a % b) % (b * m))
= (a % (b * m) - (a % b))
hence,
((a / b) % m) = ((a % (b * m)) - (a % b)) / b
这已经更容易计算,因此我有理由将此作为答案。我想你可以从那里继续你建议的更简单的公式,但我没有时间或倾向于这样做。 (所以,如果这是家庭作业,那么我会留下一些让你自己做的事情:))