lynx   »   [go: up one dir, main page]

タグ

FizzBuzzに関するTAKESAKOのブックマーク (28)

  • SQLでFizzBuzz - いろいろ解析日記

    最近FizzBuzzをblogで書くといいよみたいな流れになっている(曲解)のでこの流れにって、SQLでFizzBuzzを書いてみました。 以下、FizzBuzzのSQLです。なお、このSQLの動作確認は「mysql Ver 5.0.67」で行いました。 /* 一時テーブルを作成 */ create temporary table tmp ( i int ); /* 一時テーブルに1〜100の値を挿入 */ insert into tmp values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10), (11),(12),(13),(14),(15),(16),(17),(18),(19),(20), (21),(22),(23),(24),(25),(26),(27),(28),(29),(30), (31),(32),(33),(34),(35),(36

    SQLでFizzBuzz - いろいろ解析日記
  • FizzBuzz - monjudoh’s diary

    最近FizzBuzzをblogで書くといいよみたいな流れになっている(曲解)ので // JavaScript1.8前提 new Array(101) .join(',') .split(',') .map(function(n,i) i%3 ? n : n + "Fizz") .map(function(n,i) i%5 ? n : n + "Buzz") .map(function(n,i) n || i) .slice(1,101) .join('\n'); ジェネレータ式も試してみた。無限FizzBuzzイテレータを生成し、100回だけ呼んでみた。 // JavaScript1.8前提 let it = ( (function(n,i) n || i)( (function(n,i) i%5 ? n : n + "Buzz")( (function(n,i) i%3 ? n : n

    FizzBuzz - monjudoh’s diary
  • fizzbuzz.gif こたえ - 2008-10-12 - 兼雑記

    http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/shinichiro_h/20081011%231223722332 http://d.hatena.ne.jp/shinichiro_h/comment?date=20081011#c やった解答してくださる方がいた! それはともかく答えは "Fizz Buzz" と書かれた GIF (末尾に 3B ゴミがついているという意味で少し不正) Ruby (1.8) で書かれた Fizz Buzz Perl で書かれた Fizz Buzz ゴルフ場の z80 で書かれた Fizz Buzz x86 & MS-DOS の COM で書かれた Fizz Buzz x86 & PC/AT互換機の MBR に書くと Fizz Buzz が走る起動イメージ (だから 512B) でした。最後のは qemu

    fizzbuzz.gif こたえ - 2008-10-12 - 兼雑記
    TAKESAKO
    TAKESAKO 2008/10/13
    すげえwww
  • C++のテンプレートで素数計算 - 西尾泰和のはてなダイアリー

    C++のテンプレートで計算をするなんて変態だと思っていたのだけど、奥さんがさくっと10分くらいで書いたFizzBuzzのコードを見るとなんか非常に素直で読みやすいコードだったので、僕もテンプレートで何かしてみることにしました。 Kazuho@Cybozu Labs: C++ テンプレートで(いまさら)FizzBuzz http://labs.cybozu.co.jp/blog/kazuho/archives/2008/04/fizzbuzz_cpp_template.php そんなわけでできたのが素数を求めるコード。途中の「数字を全部出す」と「2の倍数を出す」をコメントで残してあります。isPrime2とかisPrime3とかあるのは3つ合わせてisPrimeの働きをする型のそれぞれの名前を思いつかないので適当な名前になっています。テンプレートにはデフォルトの型引数があるみたいなのでisP

    C++のテンプレートで素数計算 - 西尾泰和のはてなダイアリー
  • C++テンプレートでFizzBuzz - おびなたん☆

    これは、1月20日に北海道にて行われた日野望の会で披露したネタのまとめと解説のエントリーです。 そもそも こんなしょーもないネタを思いついたのは、このブログの昨年の検索キーワードトップ3が C++ FizzBuzz テンプレート だったから。それぞれのキーワードについては、 C++ - Wikipedia Fizz Buzz - Wikipedia テンプレート(プログラミング)- Wikipedia あたりを見てちょうだい。 特に、会場には「テンプレートって知らなーい」って人が2,3人いたのでテンプレートについてちゃんと説明したかったのですが、いかんせん時間が足りなすぎでした。テンプレートをまじめに語るとが一冊書けてしまうので、端折りました。当然、ここでも端折ります。 上述のリンク先とかを見るか、テンプレートをまじめに語ったを一冊読んでくだせえ。 とりあえず、おいらのFizzBuz

    C++テンプレートでFizzBuzz - おびなたん☆
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2008/04/fizzbuzz_cpp_template.php

    TAKESAKO
    TAKESAKO 2008/04/17
    簡潔なコードはわかりやすい
  • FizzBuzzとrand | quabbinの日記 | スラド

    (0..99).map {|i| srand(46308667) if (i%15).zero?; ["FizzBuzz", "Buzz", i+1, "Fizz"][rand(4)]} よくこんな事を思いついたなぁ…。 同じ種でsrandした場合、rand()の出現数値に再現性がある事が肝と。 ただ、テストしてみると、どうもrand()の再現性は環境依存のようで、手元のruby 1.8.1(ってそんな前かい!)なLinux環境では違う値が返却されてまいます。 1.8.6-と1.9.0-0なcygwin環境では正しく動くのだけど…。 で、random.cの中身を見てみたところ、独自実装している模様。 つまるは環境依存ではなくて、バージョン依存ということか。 ちなみにRubyの乱数は、2002-07-26の変更で線形合同法っぽいアルゴリズムからメルセンヌ・ツイスターになった模様。

  • FizzBuzz問題 | Okumura's Blog

    どうしてプログラマに・・・プログラムが書けないのか?(原文Coding Horror: Why Can't Programmers.. Program?)のFizzBuzz問題をわが情報教育課程3年生の優秀な学生42人に制限時間付きでC言語で解かせてみた。結果はそのうちどこかで。この話をしていたら天才なかの先生が「いったん書いて消す」というヒントをくださったのでやってみた: #include <stdio.h> int main(void) { int i; for (i = 1; i <= 100; i++) { printf("%d\r", i); if (i % 3 == 0) printf("Fizz"); if (i % 5 == 0) printf("Buzz"); printf("\n"); } return 0; } ただし上書きすると前のが消える端末専用。

    TAKESAKO
    TAKESAKO 2007/07/02
    コメント欄がすごいことに
  • FizzBuzz を swf で Golf - まめめも

    takesako さんという方が FizzBuzz を swf で golf されていた。159 bytes らしい。面白い。 でもまだまだ余裕があるように感じたので 30 分ほどいじったら、150 bytes になった。以下 swf とソース。 http://dame.dyndns.org/misc/fizzbuzz-swf-golf/fizz150.swf http://dame.dyndns.org/misc/fizzbuzz-swf-golf/fizz150.txt やったことは、アルゴリズムの変更 *1 と、試行錯誤による最適化 *2 だけ。確か swf は圧縮が施されている (アルゴリズムとか詳しいことは忘れた) ので、バイトコード自体の数を小さくしてもよい結果になるとは限らないのがポイント、というか苦痛。究極的には圧縮アルゴリズムがどう動くかを考えながらやらないといけないです

    FizzBuzz を swf で Golf - まめめも
    TAKESAKO
    TAKESAKO 2007/06/09
    おお
  • いまさらFizzBuzz問題を[[OO厨]]がやるとどんなことになっちゃうのか - yojikのlog

    ちょっと気を取り直してプログラミングな話題を。 Lisp脳でやってみよう -- Schemeプログラマの発想をJavaでやるとどんなことになっちゃうのか こちらを読んでて、逆に純度100%のOO厨気分で考えるとどうなるか考えてみた。 まずOO厨な考え方では「結果」を先を求める。1から100まで並んでるんだけど3の倍数の所は「Fizz」で、5の倍数のときはBuzzで、両方の倍数の場合はFizzBuzzが並んでる、FizzBuzzな仕様の「シーケンス」があればいい。シーケンス=繰り返し。ならばIteratorだ。 while(fizzBuzz.hasNext()) { System.out.println(fizzBuzz.next()); } こんな感じのIteratorがあればいい。過程や!方法なぞ!どうでもよかろうなのだッ! (中略) ググってもそういうIteratrorがみつからないの

    いまさらFizzBuzz問題を[[OO厨]]がやるとどんなことになっちゃうのか - yojikのlog
  • Perl で FizzBuzz - odz buffer

    いやぁ、いろんな方法があるねぇ。もう完全にネタだけど。ということで Perl 版。 use strict; use warnings; print [$_, 'Fizz', 'Buzz', 'FizzBuzz']->[($_ % 3 == 0) * 2 + ($_ % 5 == 0)], "\n" for 1..100; 昨日の MySQL 版と同じアプローチだけど、これを採用しているひとはあんまりみてない気がする。まぁ、そもそもそんなに回答みてないけどね。 もうひとつ。 print ['Fizz']->[$_ % 3] . ['Buzz']->[$_ % 5] || $_, "\n" for 1..100; お、golf できるんじゃね? print ['Fizz']->[$_%3].['Buzz']->[$_%5]||$_,"\n"for 1..100; 59B で、28位也。修行が足

    Perl で FizzBuzz - odz buffer
  • 恐るべき現実(マイナー言語によるFizzBuzz問題解集) - eiji8pou's diary

    俺は普通のオタクで決してプログラマーではないんだが、と朝日新聞が独島を擁護する時のような前置きをした上で。 どうしてプログラマに・・・プログラムが書けないのか? 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 ブクマの方ではさっそくコメントに各言語のワンライナーがたくさん。しかし、普通にしては面白くない。 C言語、C++、C#、PerlRubyJavaJavaScriptPythonPHP、などの人口の多い(俺主観)言語は除外して、あまり使われていない言語でFizzBuzz問題に挑戦した事例を集めた。随時増やしていく予定。 Brainf**k brainfuck で FizzBuzz - 冬通りに消え行く制服ガールは✖

    恐るべき現実(マイナー言語によるFizzBuzz問題解集) - eiji8pou's diary
  • 剰余を使わずにFizzBuzz - おびなたん☆

    新幹線の中の暇な時間を使ってやってみた。 まず剰余を使わない方法 最小公倍数と整数論における法の理屈が分かっていれば、3と5の最小公倍数の15周期で"Fizz", "Buzz", "FizzBuzz"のパターンが現れることがすぐに理解できる。ちうことで、"Fizz", "Buzz", "FizzBuzz", NULLからなるの長さ15の配列を用意して、それを順繰りにトレースして行けばいい。 const char* fizz = "Fizz"; const char* buzz = "Buzz"; const char* fibuzz = "FizzBuzz"; const char* fb[] = { NULL, NULL, fizz, NULL, buzz, fizz, NULL, NULL, fizz, buzz, NULL, fizz, NULL, NULL, fibuzz, };

    剰余を使わずにFizzBuzz - おびなたん☆
  • 本を読む seqコマンドを勝手にFizzBuzz化

    いまさらながらFizzBuzz問題ネタ。 seqコマンド自身を、再コンパイルなしにFizzBuzz化してみるという、アスペクト指向(嘘)な方法を試した。Linux限定かもしれない。 まず、こんな感じでfizzbuzzize.cを書く。 // fizzbuzzize.c #include <stdio.h> #include <math.h> #include <stdarg.h> int printf(const char* format, ...) { va_list ap; char buf[8]; double data; va_start(ap, format); data = va_arg(ap, double); fputs((fmod(data, 15) == 0) ? "FizzBuzz" : (fmod(data, 3) == 0) ? "Fizz" : (fmod(da

    TAKESAKO
    TAKESAKO 2007/05/16
    LD_PRELOADでFizzBuzzという発想はなかった
  • brainf*ckでFizzBuzz - 木曜不足

    頭が痛くて長い時間ものが考えられない……ので気晴らしにbrainfuckで3言語目のFizzBuzz(ErlangとRubyは→ id:n_shuyo:20070511:fizzbuzz )。なんだかんだ言ってはまってる? ++++[->++++<]>+[<++++++>>++++>++++++>+++++++>>++++>+++++++<<<<<<-]<-->+++>++>+++>+++>+++++>-->--<<<<<<<[->-[>>>>>>>]>[<+++>.>.>..>>>>>>+<]<<<<-[>>>]>[<+++++>.>.<<<..>>>>>>+<]>>+<[[-]<]>[[-<+>>+<]>>++++++++++<[->->+<[>>]>[[-<+>]>>>+<]<<<<]>>>>>[-<+<+>>]++++++++[-<<++++++<++++++>>>]<[<.>[-

    brainf*ckでFizzBuzz - 木曜不足
    TAKESAKO
    TAKESAKO 2007/05/16
    ちょw 1位ゲットきたこれ
  • TAKESAKO @ Yet another Cybozu Labs: 連載企画 FizzBuzz ではじめる Code Golf (x86 32bit) 入門

    Code Golf とは? Matzにっき(2006-10-05) より ゴルフとは如何に少ないストロークでホールインするかを競う競技である。 コードゴルフとは、如何に少ないキーストローク(バイト数)で、プログラムを実装できるかを競う競技である。 先日FizzBuzz.com (MS-DOS 16bit版) を作ってみたら、32bit版のプログラムにも挑戦したくなりましたので、x86 32bitで命令長を減らすテクニックについて紹介したいと思います。 ※まずはコード長の比較のみで実行クロック数は競わないことにします。 ■ x86 32bit コード最適化 【問題】EBXレジスタに1を、EAXレジスタに4を代入したい できるだけ短いバイト数でコードを実現するためには、いろいろなx86命令をフル活用することを考えます。 自分の思いついた解答をNASMの記法で書いてみます。 (1) 10byte

    TAKESAKO
    TAKESAKO 2007/05/15
    初回はFizzBuzz関係なかった...
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    TAKESAKO
    TAKESAKO 2007/05/15
    pirはレジスタがいっぱいでif文とprint文の使えるアセンブリ言語ってイメージ
  • おさかなラボ - vimでFizzBuzz問題

    完全に乗り遅れた感がありますが。ちょっと前に有名になった どうしてプログラマに・・・プログラムが書けないのか? はてブコメント・ワンライナー合戦 に出てくるFizzBuzz問題。vimでも結構ハマります。いうならば「詰めvim」ですな(*1)。 i1<esc>qxYp<Ctrl-A>q98@x3GqxSFizz<esc>3jq32@x5Gqx:s/\d*$/Buzz<LF>5jq18@x 昨日はてブコメントに書いたのだが、ここはvim好きの人が結構読んでいるようなので転記。 (*1)詰めViViの語感を拝借 カテゴリー » 雑文, vim 投稿日 » 2007/05/11 金曜日 - 13:16:51 by かなだ コメントはこちらからどうぞ。ご自身のサイトからトラックバックを利用する場合は以下の URI をご利用ください。 http://kaede.to/~canada/

    TAKESAKO
    TAKESAKO 2007/05/15
    わろす
  • mizzy.org : FizzBuzz アセンブラ版 for x86/Linux

    竹迫さん、Yappo さん に触発されて、FizzBuzz アセンブラ版 for x86/Linux をつくってみた。 20年ほど前に Z80 でアセンブラをちょっとかじった程度の知識しかないので、ベストには程遠いコードだと思います。だれかもっといいコードを教えてください。 最初竹迫さんのコードと同じように書けるかな、と思ったのですが、Windows とちがって、画面に表示するだけで EAX, EBX, ECX, EDX レジスタ使うので、竹迫さんのように BX レジスタを見張り役に、CX レジスタをカウンタに、ってことができませんでした。 また、とりあえず書いただけで疲れたので、コードゴルフにチャレンジする気力はありません。 global _start _start: mov si, 0 mawasu: call space inc si mov ax, si mov di, 3 xo

    TAKESAKO
    TAKESAKO 2007/05/14
    さすがmizzyさん!
  • Project92 blog: FizzBuzzをPostScriptで ― コードゴルフに挑戦

    Project92.com Project92を主宰するカガマコトのblogです。デジタルものからアナログものまで、雑多な話題を書いています Blog Entries Bicycle iPhone / iPad Mac Camera PC & Gadget Programming & Web Life & Design About Project92.com Profile なんか、すげー久々のエントリのようですが、気のせいでしょう......多分。 Twitterで、何人かが「FizzBuzz」という言葉を書いているのを見掛けて気になったのですが、やはりTwitter経由で竹迫さんのエントリ、 FizzBuzz - Golf Challenge [TAKESAKO @ Yet another Cybozu Labs] を見て、PostScriptで書いてみることにしました。課題としては、

    TAKESAKO
    TAKESAKO 2007/05/13
    面白い、ランキングを見るともっと短くできるかも
Лучший частный хостинг