LoginSignup
0
0

More than 3 years have passed since last update.

【初心者目線】RubyでFizzBuzz問題を"簡単に"解いてみた!

Posted at

この記事では、FizzBuzz問題についてまとめてみました!

皆さんはプログラミングの学習を初めてから、だいぶ初期にこの問題を目にしたのではないでしょうか。

FizzBuzz問題は初心者にもそこまで難しくない問題で、プログラミングの効果的な学習材料となります。

できるだけ初心者向けでわかりやすいように頑張りますので、是非最後までお付き合いください!

FizzBuzz問題とは?

プログラミングで言うFizzBuzz問題とは、3で割ることのできる数字を入力したら"Fizz"、5で割ることのできる数字を入力したら"Buzz"、または両者で割ることのできる数字(すなわち15で割ることができる数字)を入力したら"FizzBuzz"と返事が来るプログラムを書く問題のことです。

Rubyの入門参考書などを買うとよく載っているので、皆さんの中には実際に解いたことがあると言う人も少なくないでしょう。

FizzBuzzの書き方・考え方

まずは完成形のコードをみてみましょう。

FizzBuzz.rb
def FizzBuzz(n)

 if n % 15 == 0
  'FizzBuzz'
 elsif n % 3 == 0
  'Fizz'
 elsif n % 5 == 0
  'Buzz'
 else 
  n.to_s
 end

end

まず、nを15で割った時にあまりが0、すなわち15で割ることができる数字を入力されたら'FizzBuzz'と返すように命令しています。

次に3で割れる数字を入力されたら'Fizz'、5で割ることができる数字を入力されたら'Buzz'と返すようにしています。

最後に、それ以外の数字が入力された場合、その数字を文字列に変換して返すように命令しています。

実際にこのプログラムを実行してみましょう。

まず、今書いたメソッドの下に、メソッドを使った命令を書いてみます。

FizzBuzz.rb
def FizzBuzz(n)

 if n % 15 == 0
  'FizzBuzz'
 elsif n % 3 == 0
  'Fizz'
 elsif n % 5 == 0
  'Buzz'
 else 
  n.to_s
 end

end

FizzBuzz(1)
FizzBuzz(3)
FizzBuzz(4)
FizzBuzz(5)
FizzBuzz(10)
FizzBuzz(15)

そして、ターミナルに以下の命令をします。


$ ruby lib/FizzBuzz.rb

これは、libと言うディレクトリ(フォルダ)の直下にあるFizzBuzz.rbと言うファイルを実行しろと言う命令です。

実際に実行してみると、下記の結果が出るはずです。

1
Fizz
4
Buzz
10
FizzBuzz

これと同じように結果が出れば成功となります!

 まとめ

FizzBuzz問題は初心者の登竜門的なプログラミングの練習問題です。

3の倍数を入力したらFizz、5だとBuzz、両方の倍数だとFizzBuzzが出力されるようにプログラムを書きます。

どうだったでしょうか?わかりにくいところなどがあったら教えていただけると幸いです!

この記事のリライトの材料にもなりますし、僕自身の成長にも繋がるので是非お意見お待ちしております!

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0