English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Diversi metodi per trovare i numeri primi in Python

首先,我们需要知道素数是什么。

质数始终是一个正整数,并且可以被2个整数(1和数字本身)整除,而1不是质数。

现在我们将讨论一些查找素数的方法。

方法1

使用For循环

Esempio

def primemethod1(number):
   # Inizializzare una lista
   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)

Risultato di output

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

Metodo 2

Per il ciclo con interruzione

Esempio

def primemethod2(number):
   # Inizializzare una lista
   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))

Risultato di output

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

Metodo 3

Per il ciclo, la rottura e la radice quadrata

Esempio

def primemethod3(number):
   # Inizializzare una lista
   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("Numero primo: ", pr)
primemethod3(50)

Risultato di output

Numero primo: 2
Numero primo: 3
Numero primo: 5
Numero primo: 7
Numero primo: 11
Numero primo: 13
Numero primo: 17
Numero primo: 19
Numero primo: 23
Numero primo: 29
Numero primo: 31
Numero primo: 37
Numero primo: 41
Numero primo: 43
Numero primo: 47