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 だ。計算誤差なのだろうか?少し面倒すぎて、やる気が失せた。