English

Python (基本的なこと002、003)で作成したものです。
動かすには、matplotlib.pyplotなどのインポートが必要です。
・指定の数値がそれ未満の素数で割り切れるかを確認。
 割り切れる場合は、次の数値へ。割り切れない場合は、指定の数値を素数として配列に入れる。
・始めと終わりで時間を取得し、プログラムにかかった時間を計測。
・最後にグラフを表示(横軸:素数、縦軸:素数の個数を素数定理の値 (x / ln x) で割った値)

■ 実行例
■ サンプルコード
import math
import time
import matplotlib.pyplot as mp

# START_NUM: start number, TRY_COUNT:numbers to be checked from start number
START_NUM = 2
TRY_COUNT = 1000000
primeNumArray = [2]
primeNumSize = [1]
primeNumSize_calc = [1]

start_time = time.time()
for var in range(START_NUM, START_NUM + TRY_COUNT):
    num = var
    flag = 1
    for var2 in primeNumArray:
        result = num % var2
        if result == 0:
            flag = 0
            break
    if flag == 1:
        print(var)
        primeNumArray.append(var)
        primeNumSize_calc.append(len(primeNumArray)/(var/math.log(var)))
        primeNumSize.append(len(primeNumArray))

mp.plot(primeNumArray, primeNumSize_calc, color="red")

end_time = time.time()
print("process_time:", len(primeNumArray), ":", end_time - start_time)
mp.grid()
mp.show()