Roo*_*kie 5 c++ algorithm math primes gmp
我正在使用GMP(使用MPIR)来获取任意大小的数据类型.我也使用它的素数测试函数,它使用米勒 - 拉宾方法,但它不准确.这是我想要解决的问题.
通过使用暴力方法,我能够确认数字18446744073709551253是素数.
有没有办法检查大数是否为素数,准确度是否达到100%?
它不应该使用太多的内存/存储空间,可以接受几兆字节.
它应该比我使用的sqrt方法更快.
它适用于大小至少为64位或更大的数字.
最后,它应该是100%准确,没有maybes!
我有什么选择?
我可以忍受蛮力方法(对于64位数字),但出于兴趣,我想要更快更大.此外,64位数字检查太慢:总共43秒!