pythonの処理で素数算出のコードを書いてみました。

関数にして、算出する数値範囲を指定できるようにしています。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
## 素数算出処理
def get_prime_num(max_num):
prime_num = []
counter = 0
# 素数判定(max_numは指定変数) # rangeのスタートを2からにしているのは、1を除外する必要がある為。
for i in range(2, max_num + 1):
flg = True
for j in prime_num:
counter += 1
# 余りが0であれば素数ではないので、flg=Falseを設定してbreak(次の値判定へ)
if i % j == 0:
flg = False
break
# 余りが0以外であれば素数としてprime_numにその値を設定する
if flg:
prime_num.append(i)
# 素数判定にprime_num値を利用するが、1が入ると、すべて素数判定される為、最後に値を手動で入れる
prime_num.insert(0, 1)
# 素数と素数算出の除算回数を戻す
return prime_num,counter
## 素数算出処理 def get_prime_num(max_num): prime_num = [] counter = 0 # 素数判定(max_numは指定変数) # rangeのスタートを2からにしているのは、1を除外する必要がある為。 for i in range(2, max_num + 1): flg = True for j in prime_num: counter += 1 # 余りが0であれば素数ではないので、flg=Falseを設定してbreak(次の値判定へ) if i % j == 0: flg = False break # 余りが0以外であれば素数としてprime_numにその値を設定する if flg: prime_num.append(i) # 素数判定にprime_num値を利用するが、1が入ると、すべて素数判定される為、最後に値を手動で入れる prime_num.insert(0, 1) # 素数と素数算出の除算回数を戻す return prime_num,counter
## 素数算出処理
def get_prime_num(max_num):
	prime_num = []
	counter = 0

	# 素数判定(max_numは指定変数) # rangeのスタートを2からにしているのは、1を除外する必要がある為。
	for i in range(2, max_num + 1):
		flg = True 
		for j in prime_num:
			counter += 1
			# 余りが0であれば素数ではないので、flg=Falseを設定してbreak(次の値判定へ)
			if i % j == 0:
				flg = False
				break

	# 余りが0以外であれば素数としてprime_numにその値を設定する
		if flg:
			prime_num.append(i)

	# 素数判定にprime_num値を利用するが、1が入ると、すべて素数判定される為、最後に値を手動で入れる
	prime_num.insert(0, 1)
        # 素数と素数算出の除算回数を戻す
	return prime_num,counter
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 素数判定処理の実行と実行結果の取得:実行時には、素数の算出最大値をパラメータに渡す。以下では100以下の値を対象とする
Prime_Number = get_prime_num(100)
# 算出結果の表示
print('除算を行った回数:{}'.format(Prime_Number [-1]))
print('算出した素数:{}'.format(Prime_Number [0:-1]))
# 素数判定処理の実行と実行結果の取得:実行時には、素数の算出最大値をパラメータに渡す。以下では100以下の値を対象とする Prime_Number = get_prime_num(100) # 算出結果の表示 print('除算を行った回数:{}'.format(Prime_Number [-1])) print('算出した素数:{}'.format(Prime_Number [0:-1]))
# 素数判定処理の実行と実行結果の取得:実行時には、素数の算出最大値をパラメータに渡す。以下では100以下の値を対象とする
Prime_Number = get_prime_num(100)

# 算出結果の表示
print('除算を行った回数:{}'.format(Prime_Number [-1])) 
print('算出した素数:{}'.format(Prime_Number [0:-1]))

◆上記の実行結果↓

おすすめの記事