Groovy

あなごる

最近仕事が忙しく、あなごる参戦やこの日記がおろそかになっている。正常といえば正常だけど。 I love you この問題は、記述がわかりにくいが、結局、 128*e**490だ。タイトルの意味が未だわからず。215桁あるので、large numberのサポートが無い言語だと難…

最近のあなごる

あなごるサーバーにサブミットすると時々、IO error だったか、connection できないといったエラーが返る時がある。しばらくすると、あなごるサーバーが完全にダウンしたりしていた。今年になって2度ほどあったように思う。 2月初めには東証のシステムダウ…

Smileys Triangle

あなごる日記もマンネリ化してきた(って別に問題ないけど)ので、ここらで趣向を変えて、過去の endless 問題の解答を晒してみる。 あなごる初期の名問の一つ、Smileys Triangle 。 24B@vi vi は、トップは pla さんで、22B だ。しかも、全言語通してトップ…

Euclids orchard とか

Euclids orchard が終了した。あなごるやっていると、数学のちょっとした話題に触れることができて面白い。 この問題で見つけたちょっとしたテク。 Groovy: 't '[1%it.gcd(1)] it.gcd(1)>1?' ':'t' JavaScript: o+='t '[1%k] o+=k>1?' ':'t'つまり、n > 0 …

122333

122333 が先ほど終了した。なかなかの良問だ。おもしろかった。ただ、Sample Input #3 が、たぶん、8bit の立った右ページのコードを含んでいるようだ。そのため、Groovy では、#3 だけうまく扱えず、解答できずじまい。 C C は 63B 出したとき、勝った!と…

Joshephus or MamakoDate Sequence EASY

Joshephus or MamakoDate Sequence EASY はなかなか面白い問題だった。C トップのinaniwa さんの解は少し解読しようとしたけど、ちょっとわからないな。301 さんの解も同じアルゴリズムのようだ。いずれにせよ、配列になんらかデータを蓄積するのではなく、…

プログラミングGROOVY

本日7/6「プログラミングGROOVY」という本が発売になった。会社の帰りに藤沢のジュンク堂に行ったら、棚に7〜8冊、背表紙ではなく、表紙が正面に向いた形で重ねておいてあった。買った。 Groovy初心者向けの本だが、言語の説明も割としっかりと書かれてい…

最近のあなごる

Difference of hinoe さんの C 解。以下の通り。 main(a,p)char*p;{for(;*++p||!gets(p=&a)-puts();)*p=p[1]?abs(p[1]-*p)+48:0;}この解の面白いところは、*++p の部分。for 文の一重化を行う際、キーとなることの一つに、変数の初期値がある。たとえば、上…

最近のあなごる

また、だいぶ日記が空いてしまった。 Integer Ranges 入力データに、291 という数があり、問題ミスかと思っていたが、 -1<<290とすると -1<<2と同じで、-4 になる。C だけでなく、JavaScript も Groovy も同じだった。なので、結果的に、291 という入力を特…

最近のあなごる問題

ビンラディンの件はびっくり。アメリカはしばらく厳戒態勢なんだろうな。9・11みたいな報復がないことを祈っているが、株はちょっと売り払った。 さて、あなごるは、ここのところ問題が多い。まぁ、質の悪い問題も多いようだ。間違っているものは修正して…

最近の問題から

日記が滞りがちだ。なかなか継続は難しい。 Farey sequence Cはよく縮まり、最終的にnot さんの94B に追いついた。ロジックもほとんど同じだった。縮め甲斐のある面白い問題だった。因みに、88B(rand)解は以下のよう。 m=1,i;main(g,n){for(n%=9u;i%g+m%g?g-…

Numbering

Numbering が終了。 JavaScript murky-satyr 氏復活だ。強い。 32B@JavaScript by murky-satyr !function f(n,x,i){for(i=n/n;i<4;f(n-1,' '+x+i+++'.'))print(x+i)}(readline(),'')ロジックは私の解と同じだが、i=n/n が光ってる。n=0 の時、i=NaN になるの…

Comparing two numbers

Comparing two numbers が公開になった。 C 61+(a>b)-(a<b) // 78B a>b?62:61^b>a // 77B 61+(a>b)^a<b // 76B上記 78B の式は、まぁ、よく知られた式だ。私のは 77B。ここから縮まないのであきらめた。76B はトップ not さんの式。こうしてみると確かにそのとおりだなぁ。でも、思いつけなかった。 Groovy Groovy は、"" 演算子だ。 a<=>bとすると、ab に応じて、-1, 0, 1 の値をとる。Groovy がお手本としている ruby にある演算子のようだ。他の人の答えを見ていると、Perl…</b></b)>

GroovyのLongとInteger

Groovy で、partition by parity を解いている時に、またちょっと、うざい挙動にぶちあたった。 m="10 11 12".split()*.toLong().groupBy{it%2} println"$m" //-> [0:[10, 12], 1:[11]] println"${m[0]}" //-> null println"${m[1]}" //-> nullとなる。なん…

Bigger power of two

Bigger power of two終了。 C 当初、log2() を用いて、58B でトップに立ったが、hinoe さんに 57B で抜かれた。色々と考えているうち、浮動小数点数の指数部が使えるのではと思いつき、さらに試行錯誤していたら、57B ができた。ちょっと感動だった。 ところ…