python
1コード 2from math import * 3n=input() 4m=n+1 5T=[True]*m 6for p in range(2,int(floor(sqrt(n)))+1): 7 if T[p]: 8 for q in range(p+p,m,p) 9 T[q]=False 10P=[p for p in range(2,m) if T[p]] 11print len(P),P
この上のコードは出力してみたところ素数を表しているようですが、1つ1つのコードの表している意味を知りたいです。
それとこれを数学関数sqrtとfloorを使わない方法をwhile文により実現する方法も知りたいです。
始めたばかりなのでとても基礎的なことかもしれないです、貴重な時間をすみません。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー