我正在使用Miller–Rabin primality test编程质数生成器(最大200位)。
我已经实现了多个步骤,但我在模幂部分陷入了困境我选择了Right-to-left binary method其中(我假设)我必须实现一个mod b,其中a和b都是(最坏情况下是200位)。为了计算模数,我必须用最大200位数对2个数进行除法。我在数组中重新表示长整数,其中每个元素都是一个数字(0-9)。
我在谷歌上搜索了一下,还没有找到适合我的算法(这不需要花很多时间来实现)。所以我想问一下有没有人有这方面的经验。我不必是最快的算法,但它不应该是“哑”的欧几里得除法,这将需要数年的时间,应该是一种易于实现。我不想使用任何库(纯帕斯卡)
最佳答案
快速乘法读this answer,慢速乘法读this page,但更容易理解。阅读this page使用乘法算法进行快速除法时间复杂度将与乘法的时间复杂度成比例。
关于algorithm - 大整数的除数(模)(最大200位),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45117300/