Io で 100 までの素数を列挙

お題は「100までの整数から素数を列挙せよ」です.
ぜひ,みなさんの解答をコメントやトラックバックでお寄せください!


キミならどう書く 2.0 - ROUND 1 - ? Lightweight Language Ring


との事なので、力の差にしりごみしながらも参戦してみるテスト。
折角なので今勉強中の Io(iolanguage) にて。*1 *2


とりあえず何も考えずに『エラトステネスのふるい』 (06/06/17)

prime.io

Range clone setRange(2, 100) asList do(
    while(0 < size,
        write(s := m := removeFirst, " ")
        while(s = s + m; s <= max, remove(s))
    )
)


結果

$ io prime.io
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97


とりあえず篩使って端から表示するだけヽ(≧∀≦)ノ♪
ちなみに、素数の List とかは作りませんでしたが、write のところを List への append にすれば素数リストができますね。


このコード出てくるまでに随分いろんなの書いてたけど、色々な書き方を”ぱぱっと”試せるのもLLの魅力だと感じてたり。


他の人が書いた Io プログラムを発見 (06/06/20)

http://akiyah.bglb.jp/blog/1333


Io 俺だけしか出さないのかなーとか心配だったのは内緒 (*´∀`)
『同じ言語でも、人によってどう違うのか』 を見るのも1つの醍醐味ですなw


  

*1:……Io でも大丈夫っスよねきっと (^-^;

*2:vm2006-05-26 のを cygwin でビルドしたものを使いました