練習問題

def sieve(limit):
  is_prime = [0, 0] + [1] * (limit-1)
  sq = int(limit ** .5)
  for i in xrange(2, sq+1):
    if is_prime[i]:
      for j in xrange(i*i, limit+1, i):
        is_prime[j] = 0
  return is_prime

res = sieve(int(1e6))
print ' '.join(map(str,[i for i, p in enumerate(res) if p]))

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS