PowerShellでエラトステネスの篩


$a=,1;$s=2..200;while($s){$a+=$s[0];$s=@($s|?{$_%$s[0]})};$a
2008 Winter Scripting Games - 上級イベント 6が「1 〜 200 の範囲内に存在するすべての素数を計算」というものだったので、色々な人のスクリプトが見られます。上のは頑張って出来る限り短くしたものなのですが、PowerShell Guyさんの回答のほうが断然短い。

2;2..200 |? {$i=$_;(2..($i -1) |% {$i%$_}) -notcontains 0}
しかし、これはエラトステネスの篩じゃない気がする……。と思い、問題を良くみたら、エラトステネスの篩はヒントとして出されているだけで、素数の求め方に制限は無いのでした……。