今日はどうもやる気が起きなくて、最近Ruby書いてないなあと思いながら、 Matzにっきのこの記事にあったFizzBuzzについて、コードを書いてみた。
1から100までの数をプリントするプログラムを書け。 ただし3の倍数のときは 数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
_count = 0 while _count < 100 _count += 1 if (_count%3 == 0 && _count%5 == 0) print "FizzBuzz\n" elsif _count%3 == 0 print "Fizz\n" elsif _count%5 == 0 print "Huzz\n" else print _count print "\n" end end
_count=0 100.times do _count += 1 if (_count%3 == 0 && _count%5 == 0) print "FizzBuzz\n" elsif _count%3 == 0 print "Fizz\n" elsif _count%5 == 0 print "Huzz\n" else print _count print "\n" end end
_count = 0 _counter = Array.new(100) _counter.each do |i| _count += 1 if (_count%3 == 0 && _count%5 == 0) print "FizzBuzz\n" elsif _count%3 == 0 print "Fizz\n" elsif _count%5 == 0 print "Huzz\n" else print _count print "\n" end end
ちなみに私は4年前は全然プログラムできないプログラマ候補でした。 もちろん最初の2年くらいは戦力のせの字にもなりませんでした。
でも、今ではなんとなく書くことができるので、努力すれば何とかなるんじゃないかと思います。
それより、算数が苦手な私は3の倍数と5の倍数ってどうやって計算するんだ?と悩んでしまった。
プログラマ以前の問題である....
ちょっと冗長じゃない? print _count; print "\n" って一つにまとまるっしょ。<br><br>まぁ、短ければ良いってモノでも無いけど。
そもそも改行もいらないかもしれませんね:-)