今日はどうもやる気が起きなくて、最近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>まぁ、短ければ良いってモノでも無いけど。
そもそも改行もいらないかもしれませんね:-)