在Python中查找素数的不同方法
首先,我们需要知道素数是什么。
质数始终是一个正整数,并且可以被2个整数(1和数字本身)整除,而1不是质数。
现在我们将讨论一些查找素数的方法。
方法1
使用For循环
例
def primemethod1(number):
# Initialize a list
my_primes = []
for pr in range(2, number):
isPrime = True
for i in range(2, pr):
if pr % i == 0:
isPrime = False
if isPrime:
my_primes.append(pr)
print(my_primes)
primemethod1(50)输出结果
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
方法2
对于带有中断的循环
例
def primemethod2(number):
# Initialize a list
my_primes = []
for pr in range(2, number + 1):
isPrime = True
for num in range(2, pr):
if pr % num == 0:
isPrime = False
break
if isPrime:
my_primes.append(pr)
return(my_primes)
print(primemethod2(50))输出结果
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
方法3
对于循环,中断和平方根
例
def primemethod3(number):
# Initialize a list
primes = []
for pr in range(2, number):
isPrime = True
for num in range(2, int(pr ** 0.5) + 1):
if pr % num == 0:
isPrime = False
break
if (isPrime):
print("Prime number: ",pr)
primemethod3(50)输出结果
Prime number: 2 Prime number: 3 Prime number: 5 Prime number: 7 Prime number: 11 Prime number: 13 Prime number: 17 Prime number: 19 Prime number: 23 Prime number: 29 Prime number: 31 Prime number: 37 Prime number: 41 Prime number: 43 Prime number: 47