我正在寻找一种算法来进行素数测试(如10200)数字.
有没有好的算法?
有没有好的算法?
理想情况下,我更喜欢一种非概率算法.
注意:数字超过50且少于200位.
解决方法
如果您正在寻找非概率测试,您可能需要查看
AKS primality testing algorithm,它大致在O(log6 n)时间内运行.对于您拥有的位数,这可能是可行的.
也就是说,概率素性测试非常好,许多都具有指数级的错误率.我会建议使用其中一种,除非有充分的理由不这样做.
编辑:我刚刚找到this page containing several C++ implementations of AKS.我不知道它们是否正常工作,但它们可能是一个很好的起点.
希望这可以帮助!