読者です 読者をやめる 読者になる 読者になる

Sinatraのあらかると

記録することで、環境構築で悩まない。

FizzBizzの別解 その2

class FizzBizz
    def FizzBizz.answer

        (1..30).each do |t|
            case t
            when 3, 3*2, 3*3, 3*4, 3*6, 3*7, 3*8, 3*9
                puts "Fizz"
            when 5, 5*2, 5*4, 5*5
                puts "Bizz"
            when 3*5, 3*5*2
                puts "FizzBizz"
            else
                puts t
            end
        end

    end
end

FizzBizz.answer

FizzBizzは条件がなければ、書きやすい問題ですね。できれば、3の倍数、5の倍数、15の倍数を手動でわける(素因数分解していく)のではなく自動的に変換していければFizzBizzの値がどれだけ増えようとシンプルになるのですが、それは%と==を使うとかなり楽に解けますね。まだ30までの値なので、使わない計算では暗算できて面倒さがないのですが、指定で100で%と==を使わないとなるともう少し考えたいと想います。それこそ、正規表現の出番かな。

[出力結果]

1 2 Fizz 4 Bizz Fizz 7 8 Fizz Bizz 11 Fizz 13 14 FizzBizz 16 17 Fizz 19 Bizz Fizz 22 23 Fizz Bizz 26 Fizz 28 29 FizzBizz

それでは、また。

過去ログ、検索結果

FizzBizz 解答

Copyright © 2007-2017 Takayuki Kamiyama. All Rights Reserved.