English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
まず、素数とは何かを知らなければなりません。
質数は常に正の整数であり、2の整数(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]
breakを含むループについて
例
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]
ループ、break、平方根について
例
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("素数:",pr) primemethod3(50)
出力結果
素数: 2 素数: 3 素数: 5 素数: 7 素数: 11 素数: 13 素数: 17 素数: 19 素数: 23 素数: 29 素数: 31 素数: 37 素数: 41 素数: 43 素数: 47