perfect square free

この問題は、なんで、'[' と ']' で囲むのだか意味が不明なのが印象的だった。Groovyだと、print([1,2,3])とやると

[1, 2, 3]

となってとても都合がよい。Ruby も同様なのかな?Ruby 好きが作った問題かな?

C

C は、結構ギリギリになって、inaniwa さんに追いついた。でも、まぁ、素直な解かな。

i++<10

9/i++

とできるところは C らしいな。

GolfScript

トップはleonid さん。2B 差つけられ負けた。

[]`', d'),.{.*2}%-**

以下解説。

[]`      # 文字列 "[]" を作る
', d')   # 欲しいのはまず、', 'だけど、おまけで d を付け、) と
         # とやることで、100 を作るのか。うーんさすがだ。
         # 'd' のコードポイントは 100。
,.       # [0..99][0..99]
{.*2}%-  # [0..99]から[0*0,1*1,2*2,...99*99]を引き、また、2も
         # 取り除くと目的の配列が得られる。
*        # ', ' と [3,5,6...,99] より、'3, 5, 6,..., 99'を作成。
*        # '[]' と '3, 5, 6,..., 99' を interleave させて完成。

Groovy

murky-satyr さんの解。確かにそうだ。pow(2) が使えたんだ。multiply() から頭が離れなかったので、'*.' が使えないなぁと思っていた。
〜〜〜〜〜
spreadsheet はちょっと重たいなぁ。一応作ってみたが、一部計算が合わない。例えば、問題2の D32 のセルは、"=C32*C32" となっていて、また、C32 の答えは、-20.73 なので、二乗すると、429.73 のような気がするが、答えは、429.87 だ。計算誤差なのだろうか?少し面倒すぎて、やる気が失せた。