2022年3月15日火曜日

素数チェッカー

 最近 投資のことを書いていないとお叱りをいただきそうですが、

今日は素数を探してみます。

素数は1とその数以外で割り切れない数です

(中略)

Pythonです

import time
print('素数チェッカー')
max=input('最大数')
start_time=time.time()
c=0
c1=0
s=[]
for i in range(1,int(max)+1):
    f=True
    for j in range(2,i):
        c1+=1
        if i%j==0:
            f=False
            break
    if f:
        s.append(i)
        c+=1
print('Finished! 素数: '+str(c)+' 個 計算数: '+str(c1)+' 個 処理時間: '+str(float(time.time()-start_time))+'秒')
print(s)

最大数に入力した数までを2,3,4,・・・と割っていきます。

割り切れた場合終了、最後まで割り切れなかったときはリストに追加します。

10万まで計算すると4.5億回の割り算をしています。

ちなみに人類最大の素数は「2^89589933-1」です。 2486万2048桁とのことです

参照)同志社


0 件のコメント:

コメントを投稿