[プログラマ](python)小数点を検索
5423 ワード
質問する
1~nに移動したsqrt 2は小数で、小数のリストを作成して長さを返します.
range(2,n+1)重複しないリストnum を作成する. range(2,n+1)では、iがnumにある場合:
numからset(range(2*i,n+1,i) を削除する
は、 numの長さ(数) を返します.
エラトネスのふるいを使った場合、同じアルゴリズム!
時間の複雑さこのコードはもっと高いかもしれません.
🧩 首都コード
1~nに移動したsqrt 2は小数で、小数のリストを作成して長さを返します.
🏁 説明する
def solution(n):
nlist = [True] * (n+1)
m = int(n**0.5)
for i in range(2,m+1):
if nlist[i] == True:
for j in range(i+i,n+1,i):
nlist[j] == False
return len([i for i in range(2,n+1) if nlist[i] == True])
📌 注意-エラストテレスの体
🧩 別の解釈
def solution(n):
num=set(range(2,n+1))
for i in range(2,n+1):
if i in num:
num-=set(range(2*i,n+1,i))
return len(num)
numからset(range(2*i,n+1,i)
は、
エラトネスのふるいを使った場合、同じアルゴリズム!
時間の複雑さこのコードはもっと高いかもしれません.
Reference
この問題について([プログラマ](python)小数点を検索), 我々は、より多くの情報をここで見つけました https://velog.io/@richeberry/프로그래머스python-소수-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol