我刚刚实现了Miller-Rabin-Test和一个简单的函数来分解数字。两者都可以做得更好,至少Miller-Rabin-Test是众所周知的。
那么请你告诉我是否存在实现这种常见主要功能的Python库,或者为什么不存在这样的库?
gmpy2支持各种伪劣测试。 Miller-Rabin测试以gmpy2.is_strong_prp()
的形式提供。
gmpy2还没有任何分解代码。
免责声明:我是gmpy2的维护者。素数测试基于http://sourceforge.net/projects/mpzprp/files/的代码
我刚从isprime
发现了SymPy package:
import sympy
print sympy.isprime(10)
输出:
False
不要与返回第n个素数的prime
混淆:
import sympy
print sympy.prime(10)
输出:
29
我不认为在标准库中存在专用于主要功能的模块,但是当然有很多人已经编写了素数测试等等。
一个面向多精度算术的库,但有几个素数函数(如is_prime()
和next_prime()
)是GMPY2
。 documentation也可用。
如果您正在寻找算法的实现,请查看Rosetta Code。该网站有许多Python实现。你绝对可以根据自己的需要拼凑自己的图书馆。
Prime-Number-Python-Library是一个开发python库。适用于基本功能,对于较大的数字,速度非常快。