如果您参与竞争性编程,您可能会熟悉与Prime数相关的问题是问题设定者的选择之一。在这里,我们将讨论如何优化您的函数,该函数检查给定范围集中的Prime数,并且还将计算执行它们的时间。按照定义,Prime数是一个正整数,只能由自身和1整除。例如:2,3,5,7。但是,如果一个数字可以被分解为较小的数字,则称为复合数。
例如:4 = 2 * 2,6 = 2 * 3
整数1既不是素数也不是复数。检查数字是否为素数很容易,但有效检查需要一些努力。
方法1
现在让我们使用第一个函数来检查数字(例如n)是否为素数。在这种方法中,我们将测试从2到n-1的所有除数。我们将跳过1和n。如果n可被任何除数整除,则该函数将返回False,否则返回True。
以下是此方法中使用的步骤:如果整数小于等于1,则返回False。
如果给定的数字可以被2到n中的任何数字整除,则该函数将返回False
否则它将返回True
# Python Program to find prime numbers in a range
import time
def is_prime(n):
if n <= 1:
return False
for i in range(2,n):
if n % i == 0:
return False
return True
# Driver function
t0 = time.time()
c = 0 #for counting
for n in range