[プログラマ/PYTHON]小数点を検索


問題の説明
1から入力した数字nまでの小数を返す関数を作成します.
小数は1とそれ自体の数です.
(1は小数ではありません.)
せいげんじょうけん
nは2以上1000000以下の自然数である.
prime[i]のiは少数の判別対象を表し、prime[i]の値は0は少数を表し、1は非少数を表す.
マイコード
def solution(n):
    prime = [0] * (n+1)
    prime[0] =1
    prime[1] =1
    for j in range(2, n//2+1):
        if prime[j] == 0:
            for k in range(j + j,n+1,j):
                prime[k] = 1
                
    prime = [ i for i in range(n+1) if prime[i] == 0]   
    return len(prime)