Hatena::ブログ(Diary)

unibonの日記 このページをアンテナに追加 RSSフィード

unibon のブックマーク

unibonの日記 - 詳細デザイン設定
トレーダーズ・ウェブ
Musumenavi
MoProGuide
ハロー!プロジェクト オフィシャルサイト
センチュリーランド
(Berryz工房)もっと!はみだしアーティストトピックス
(℃-ute)もっと!はみだしアーティストトピックス
(モーニング娘。)もっと!はみだしアーティストトピックス
(藤本美貴)もっと!はみだしアーティストトピックス
藤本美貴
NHK 音楽番組
フジテレビONE
フジテレビTWO
フジテレビNEXT
ニュース - スマイレージ公式ウェブサイト

TRF 長谷部優 橘佳奈 小倉優子 水森かおり 長山洋子 松田聖子 酒井法子 田村英里子 アイドリング!!! 小泉瑠美 遠藤舞 横山ルリカ モーニング娘。 Berryz工房 ℃−ute 真野恵里菜 スマイレージ Buono! 石川梨華 松浦亜弥 藤本美貴 岡田唯 相沢真紀 小川真奈 北神未海 bump.y AKB48 SKE48 渡り廊下走り隊 ノースリーブス フレンチ・キス ももいろクローバー bump.y
MoProGuide ハロプロ番組情報 (moproguide) on Twitter
週末ヒロイン ももいろクローバーオフィシャルサイト - スケジュール

テレビ王国 My番組表
テレビ王国 気になる番組

2007-10-01 (Mon)

[]使えないプログラマー: FizzBuzz問題 使えないプログラマー: FizzBuzz問題を含むブックマーク 使えないプログラマー: FizzBuzz問題のブックマークコメント

http://tukaenai-pg.cocolog-nifty.com/blog/2007/07/fizzbuzz_51bf.html

FizzBuzz問題FizzBuzz問題というプログラマ適性問題(?)が話題になっているらしい。

以下、(http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm)から引用

「1から100までの数をプリントするプログラムを書け。

ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

まで読んだ。自分でコードを書いてみた(Java で)。

public class Hoge {

    public static void main(String[] args) {
        for (int i = 1; i <= 100; i++) {
            boolean fizz = (i % 3 == 0);
            boolean buzz = (i % 5 == 0);
            if (fizz && !buzz) {
                System.out.println("Fizz");
            } else if (!fizz && buzz) {
                System.out.println("Buzz");
            } else if (fizz && buzz) {
                System.out.println("FizzBuzz");
            } else if (!fizz && !buzz) {
                System.out.println("" + i);
            } else {
                throw new IllegalStateException();
            }
        }
    }
}

さて、答えは???

ちゃんとしたプログラマであれば、これを実行するプログラムを2分とかからずに紙に書き出せるはずだ。

怖い事実を聞きたい? コンピュータサイエンス学科卒業生の過半数にはそれができないのだ。

自称上級プログラマが答えを書くのに10-15分もかかっているのを見たこともある。」

とのこと。

なんだ、コーディングの速さを問う問題だったのか。

てっきり、どうエレガントにとか、分かりやすくとか、簡潔にとか、を問う問題なのかと思っていた。

あとで、Eclipse の History を見てみると、コーディングにおよそ3分かかっていた。w

トラックバック - http://d.hatena.ne.jp/unibon/20071001/p4