Home> programming > FuzzBuzz!!
FuzzBuzz!!
- May 13, 2007 4:09 AM
- programming
久々にワインなぞダクダク呑んでみたら、中々寝付けず。
やっと眠れたと思いきや数時間で目が覚めてしまったので、眠気覚ましに下の問題をやってみた。
どうしてプログラマに・・・プログラムが書けないのか?
1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
掛かった時間を計ると4分強。
PCを組み直したときに買ったコンパクトキーボードにまだ戸惑っている(言い訳だな)のと、アルゴリズムと関数名は沸いてくるけど使い方を思い出せない(言語ヘルプ無しでやる習慣は失われました)、という悲しい事実により予想通り1~2分というラインはクリアできず...
(Cで書いてたら何回無駄にコンパイルせにゃならんかったのだろうかね)
<?php
echoFuzzBuzz();
function echoFuzzBuzz() {
echo "<pre>";
for ($i=1;$i<=100;$i++){
$id3 = "$i";
$id5 = "$i";
while ($id5 >= 5){
$id5 = $id5 - 5;
}
while ($id3 >= 3){
$id3 = $id3 - 3;
}
if ($id3 == 0 && $id5 == 0 ){
echo "fuzz buzz!!";
} else if ($id3 == 0) {
echo "fuzz!";
} else if ($id5 == 0) {
echo "buzz!";
} else {
echo $i;
}
echo "\n";
}
echo "</pre>";
}
?>を省くのは最近気をつけているコーディング規約に則って。
全く以てスマートに書く気はございません。
自分の書いたコードすら忘れる休日プログラマにとってはコメント不要にできれば一番、とか云ってみる。
それにしてもこの手のが書けないって、どんなプログラマだ...
(入門書の最初の50ページも読んだことあれば書けるだろうに)
寝ぼけてたのでFizzじゃなくてFuzzだと思いこんでた辺りはご勘弁。
あーでっかいアンプでジージー(FuzzBuzz!!)ってギター掻き鳴らしたいなー。
----
[20070513追記]
コードをコピーする時、PHP開始タグに?が抜けてた。阿呆だ。
Trackbacks:0
- TrackBack URL for this entry
- https://w3neu.net/mt/mt-tb.cgi/158
- Listed below are links to weblogs that reference
- FuzzBuzz!! from Sequentially Altered Days
Home> programming > FuzzBuzz!!
- Categories
- Archives
- Syndication
Comments:0