決して落ち着きを取り戻すためにやってるわけではない*1.キミならどう書く 2.0 - ROUND 1 -ネタ.
Otsuneのなんでこれで素数判定できるかは、読者の宿題のエラトステネスのふるいがステキだったのでうちもふるいを使いたいと思った.で,せっかくだから一気にふるいをかけるためにPythonの集合演算を使ってみたよ.
def get_non_prime(n): # 100以下のnの倍数の集合を得る
non_prime = []
m = n * 2
while (m < 100):
non_prime.append(m)
m += n
return set(non_prime)
non_primes = set() # 非素数の集合
for i in range(2,100):
non_primes |= get_non_prime(i) # ORをとる
primes = set(range(2,100)) - non_primes # 一気にふるいにかける
print primes処理がset()に隠蔽されてるだけで中身はほかのエラトステネスのふるいでやったのと対してかわんなそうだけどなー.
ちなみに,なにも考えずにPerlで書いたものすごい普通のができちゃった.
*1:プッチ神父参照