shtaxxx日記

コンピュータアーキテクチャについて研究している研究者の日記や技術紹介

FizzBuzz

研究室で話題になったFizzBuzz問題にチャレンジしてみた.

FizzBuzz問題とは

Fizz Buzz-wikipedia

  • 1から100までの数字を表示する
  • ただし
    • 3の倍数の時は数字の代わりに'Fizz'と表示する
    • 5の倍数の時は数字の代わりに'Buzz'と表示する
    • 3の倍数かつ5の倍数の時は数字の代わりに'FizzBuzz'と表示する

できるだけ少ないバイト数で書いてみる

1.upto(?d){|i|puts"#{i%3<1?'Fizz':i%5>0?i:''}#{'Buzz'if i%5<1}"}

65バイト.anarchy golf - FizzBuzzをみるとrubyの最短は55バイト.

うーん.なかなかプログラマにはなれないなぁ.

追記

RubyでFizzBuzz。こんな書き方があったか。。-このブログは証明できない。の配列の使い方を参考にする.

1.upto(?d){|i|puts [i%3<1?:Fizz:i%5>0?i:'',[:Buzz][i%5]]*''}

61バイト.