我有一个数字n
和m
。它们都非常大,超过了C++cc>的极限。如何准确找到long long
?
Naiven mod m
只起到n % m
的作用,在在线裁判上得到2^63-1
。
一次添加一位9
并使用n
对小型% m
有效,但速度很慢,而且对于m
的特殊情况,如果不使用硬编码,则会超出此类小型m = 1
的时间限制它在网上的法官那里得到m
。
那么,有没有一种计算37
的方法把它们作为字符串?
问题:https://dunjudge.me/analysis/problems/669/
最佳答案
假设m
被限制为小于10(即3628800)您可以以简单的方式一次处理n
的数字。
如果n
的数字是d[i]
其中i
从0变为N-1
(其中d[0]
是最有意义的数字),则类似这样的操作(伪代码):
R = 0
for i = 0 to N-1
R = (10 * R + d[i]) % m
return R
关于algorithm - 用大数求大数的模,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50852385/