【发布时间】:2019-03-13 12:44:43
【问题描述】:
Python 中是否有一个库,给定一个整数,可以生成上一个和下一个最接近的素数。我知道有一些会给我下一个质数,但我希望有一个也能做上一个质数。
【问题讨论】:
-
为什么不看看下一个素数生成器并重新设计它以找到以前的素数?提示:尝试
n - 2而不是n + 2。
Python 中是否有一个库,给定一个整数,可以生成上一个和下一个最接近的素数。我知道有一些会给我下一个质数,但我希望有一个也能做上一个质数。
【问题讨论】:
n - 2 而不是n + 2。
SymPy 的 ntheory(数论)类会做到这一点。
https://docs.sympy.org/latest/modules/ntheory.html
sympy.ntheory.generate.nextprime(n)
sympy.ntheory.generate.prevprime(n)
如果包含非 Python 库(比 Pari/GP 慢 10 倍,比 Perl/ntheory 慢 20-40 倍),它是不错的,但不是最快的。对于大多数既不进行大量通话也不使用 1000 多个数字输入的用户来说,这可能并不重要。
【讨论】: