English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
首先,我们需要知道素数是什么。
质数始终是一个正整数,并且可以被2个整数(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]
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]
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