Content-Length: 233452 | pFad | http://b.hatena.ne.jp/mooz/golf/

[B! golf] moozのブックマーク

タグ

golfに関するmoozのブックマーク (8)

  • Byte saving techniques

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Byte saving techniques
  • sort - nn_xの日記

    sort が終了になり公開されたが、C の aglias さんの解が凄すぎる。qsort() のコンパレーターとして、文字列を渡してる。これ、コンパレーターの機械コードだ。ちょっと実験してみた。 main(a,b,c){ int(*f)()="YXZQQQ\x8b\x00+\x02\xc3"; a=10;b=20;c=f(&a,&b);printf("%d %d %d\n",a,b,c); a=20;b=10;c=f(&a,&b);printf("%d %d %d\n",a,b,c); a=30;b=30;c=f(&a,&b);printf("%d %d %d\n",a,b,c); }としたところ、 10 20 -10\n 20 10 10\n 30 30 0と出力された。凄すぎる。今後は、機械語で書いてそれを呼び出す、という方法で、C ゴルフは短い解が得られるかも。う〜む。ハードル高くな

    sort - nn_xの日記
    mooz
    mooz 2010/12/26
    関数を機械語表現
  • Just another Ruby porter, 2010-9-a

    ■ [VPS] さくらのVPS 早速申し込んで、Ubuntuをインストールしてたらリモートコンソールが反応なしでタイムアウト。 再起動しても立ち上がらないので「OS再インストール」。しかし、ステータスが稼働中にならない。 何度試してもだめ。早速起動しなくなった。 問い合わせてみると「OS再インストール」にバグがあったと返信がきた。 復活した。 再度Ubuntuをインストールしてたらまたリモートコンソールがタイムアウト。 これはつなぎなおせばいいってことがわかったので、ちょっと落ち着いてやろうと夜まで中断。 再開後もやはりタイムアウトが頻発。騙し騙しなんとか最後までたどり着く。 Debian Ubuntu Fedora CentOS 32bit/64bit 等はコンパネからインストールできるようになるらしいので、待ったほうがよさげ。 あ、FreeBSDにも対応するのか。 ■ [Golf] T

    mooz
    mooz 2010/09/13
    fib の高速化. Ruby で a = b + b = a が a = b + (b = a) と解釈されることを利用.
  • Factorization 終了 - nn_xの日記

    Factorization 終了。この問題は、2次式の因数分解のつもりで作った問題。自分で作った問題に参戦するのは、なんだかちょっとうしろめたい気がするな。もちろん、いんちきしているつもりは無いけど。 解法には大きく 2 通りのアプローチがある。2 次方程式の根の公式を用いるものと、ブルートフォース攻撃によるもの。私の扱っている言語では、C と awk では前者が、JavaScript、Groovy、GolfScript、C++、vi では後者が有利だったようだ。 C nai さんが、79Bを決めてトップ。79B〜82Bまで、数人がばらけたが、nai さんの解は、全てのいいとこ取りをしたような最良解だった。 nai さん含め何人かの方が、2 項の和の半分を求めるところを、片方の項を +1 して、それぞれを 2 で割ってから和を取るようにして 1B 稼いでいる。これは、思いもしなかった。sq

    Factorization 終了 - nn_xの日記
    mooz
    mooz 2010/06/06
    ひゃー
  • delete blank lines - nn_xの日記

    相変わらずjavascript golfがはやってんな。twitterでもいろいろやり取りされてて、なかなか楽しそうだ。そんな中、delete blank linesの記録が更新された。33Bだ。 もともと、この→https://bugzilla.mozilla.org/show_bug.cgi?id=355827バグのために、readline()の空行(blank lines)とEOFが区別できず、それを回避したコードで35Bだった。35Bはこんな↓感じだ。 for(r=readline;l=r()||r();)print(l) EOFと空行が区別できると、 for(;l=readline(),l!=null;)〜 といった書き方ができる。さらに、 for(;l=readline(),l+0;)〜 といった書き方も可能だ。これは、l が空文字列の時は、''+0 は、'0'という文字列にな

    delete blank lines - nn_xの日記
    mooz
    mooz 2010/03/11
    null + 0 => 0, undefined + 0 => NaN
  • js.golf.tips[1] - ellaneous

    ビット演算系のイディオム。ゴルフ以外でも有用? Math.floor(i) → i|0 // iはint32の範囲内。(10) if(i!=-1) → if(~i) // ~-1 === 0 を利用。(3) (i+1)/2 → -~i/2 (i-1)/2 → ~-i/2 // 優先順位を変えて括弧を外す。 (2) +('0x'+h) → '0x'+h|0 // 16進文字列を数値にする場合。上と同様括弧が外せる。 (1)

    js.golf.tips[1] - ellaneous
    mooz
    mooz 2010/03/04
    ビット演算
  • js.golf.tips[0] - ellaneous

    anarchy golf*1用の書き方をいくつか。 各コメント末の括弧内は稼いだバイト数。 i=0,$=readline() → $=readline(i=0) // 引数を取らない関数に何か渡しても怒られない。(1) print(a.join(' ')) → print.apply(0,a) // printに渡した引数が空白区切りで出力されることを利用。(2) for(i=0;i<s.length;i++) → for(i=0;s[i];i++) // sは文字列もしくは中身が全てtrue相当の配列。(6) (new Date).getTime()%3 → new Date%3 //ランダムで 0,1,2 を取得したい場合。用途は言わずもがな。(12) *1:JavaScriptの処理系はSpiderMonkeyのC実装。

    js.golf.tips[0] - ellaneous
  • Code Golf

    For talk about code golf in program symposium.Read less

    Code Golf
    mooz
    mooz 2010/03/04
  • 1








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://b.hatena.ne.jp/mooz/golf/

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy