众所周知,1000000007 是一个大质数。 我怎样才能找到两个大数模 1000000007 的乘法
例如,如果我想找到 78627765*67527574 mod 1000000007,我该怎么做。
至少如果有人告诉我我会尝试的程序
注意:请告诉我原始数据类型如 int、long 或 long long 的解决方案 提前致谢
最佳答案
模链与合理的数字一起工作,这些数字正在插入您的数字计算空间的极限:
(A * B) % C == ((A % C) * (B % C)) % C.
这方面的证明非常简单,全世界的密码学网站上都有数以千计的例子。一个简单的示例:
(7 * 8) % 5 = 56 % 5 = 1
和
((7 % 5) * (8 % 5)) % 5 = (2 * 3) % 5 = 6 % 5 = 1
希望对您有所帮助。显然,当 A 和 B 已经被推到您的高端平台限制并且仍然小于 C 时,它变得毫无意义,但如果不是这种情况(即当 A > C 和/或 B > C ).
关于c++ - 如何找到大数乘法模 100000007,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12235008/