#本稿について
PFを作成後、改めてFizz_Buzz問題をRubyで入力していたところ、
少し理解が深まったので、備忘録として残します。
#Fizz_Buzz問題とは
プレイヤーは円状に座る。最初のプレイヤーは「1」と数字を発言する。次のプレイヤーは直前のプレイヤーの次の数字を発言していく。ただし、3で割り切れる場合は「Fizz」(Bizz Buzzの場合は「Bizz」)、5で割り切れる場合は「Buzz」、両者で割り切れる場合(すなわち15で割り切れる場合)は「Fizz Buzz」(Bizz Buzzの場合は「Bizz Buzz」)を数の代わりに発言しなければならない。発言を間違えた者や、ためらった者は脱落となる。
Wikiより転記:https://ja.wikipedia.org/wiki/Fizz_Buzz
これをプログラムで書くと、条件分岐(if文等)と繰り返し(for文等)が必要になるため、初学者の練習問題となることが多い。
def fizz_buzz(number)
if number % 15 == 0
puts "fuzz_buzz"
elsif number % 5 == 0
puts "buzz"
elsif number % 3 == 0
puts "fuzz"
else
puts number.to_s
end
end
puts "1以上の数値を入力してください"
for i in 1..5 do
print fizz_buzz(gets.to_i)
end
##RubyonRailsで言うと
controllerで下記のような、プログラムをよくみる
def show
@user = User.find(params[:id])
end
###fizz_buzz.rbで言うところのgets.to_iがviewファイルで行われ、controllerの処理が実行されている。
####わかっている人にとっては、当たり前だろうが府に落ちたので
以上です