#エラトステネスの篩
#(コードは煩雑そうに見えるが、速度が圧倒的に速い。
# 大きな数までの素数表が必要な場合に必要な方法。)
a = range(10000)
a[1] = 0 # 1 は素数ではない
for p in a:
if not p:
continue
elif p > 100: # 100 = sqrt(10000)
break
else:
for multi in xrange(p+p, 10000, p):
a[multi] = 0
# この時点で、aは、素数p番目にはpが、それ以外には0が入ったリストになっている。
a = [x for x in a if x]
for x in a: print x