📜  Python SymPy中的主要功能

📅  最后修改于: 2021-04-23 06:56:31             🧑  作者: Mango

如何使用库函数在Python快速获得质数?
库函数总是使我们的代码容易实现,因此在这里我们将讨论Python的一些库函数来处理素数。 SymPy是一个Python模块,其中包含一些非常酷的与质数相关的库函数。以下是这些功能的列表:

  1. isprime(n):测试n是否为质数(真)(否)(假)。
  2. primerange(a,b):生成范围为[a,b)的所有素数的列表。
  3. randprime(a,b):返回范围为[a,b)的随机素数。
  4. primepi(n):返回小于或等于n的素数个数。
  5. prime(nth):返回第n个素数,素数索引为prime(1)=2。第n个素数大约为n * log(n),并且永远不能大于2 ** n。
  6. prevprime(n):返回小于n的上一个素数。
  7. nextprime(n):返回比n大的下一个质数。
  8. sieve.primerange(a,b):生成[a,b)范围内的所有素数,实现为Eratosthenes的动态增长筛。

例子:

Python3
# Library functions for prime
import sympy
 
# Output : True
print(sympy.isprime(5))                       
 
# Output : [2, 3, 5, 7, 11, 13, 17, 19, 23,
# 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
# 73, 79, 83, 89, 97]
print(list(sympy.primerange(0, 100)))     
     
print(sympy.randprime(0, 100))  # Output : 83
print(sympy.randprime(0, 100)) # Output : 41
print(sympy.prime(3))          # Output : 5
print(sympy.prevprime(50))     # Output : 47
print(sympy.nextprime(50))      # Output : 53
 
# Output : [2, 3, 5, 7, 11, 13, 17, 19, 23, 29,
# 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73,
# 79, 83, 89, 97]
print list(sympy.sieve.primerange(0, 100))