Miller-Rabin test使用 k 随机整数来测试素数。
根据CLRS,3 rd 版,第971页:
定理31.38
如果n是一个奇数复合数,那么复合度为n的见证人数至少为(n - 1)/ 2.
那么为什么我们不是仅仅运行随机测试k次,使用不同的(n-1)/ 2值并测试它们的素数?由于除了2之外的所有素数都是奇数,并且证人没有至少(n - 1)/ 2,我们保证会找到证人(如果存在)。
答案 0 :(得分:3)
运行时间从poly(log(n))变为n * poly(log(n)),这对于大数字来说很糟糕,因为n比log(n)指数大。