初めてのFizzBuzz問題
数値1〜100のうち、3の倍数でfizz、5の倍数でbuzz、3と5の倍数でfizzbuzzを出力し、その他の場合は数値を出力する。
今日勉強したことを参考にプログラムを作ってみた。
スマートなコードではないけど、動きはした。
num = 1 while (num <= 100) amari3 = 0 amari5 = 0 amari3 = num % 3 amari5 = num % 5 case (amari3) when 0 case (amari5) when 0 puts 'fizzbuzz' else puts 'fizz' end else case (amari5) when 0 puts 'buzz' else puts num end end num+=1 end
先ほどのコードから不要な変数を削除した。
num = 1 while (num <= 100) case (num % 3) when 0 case (num % 5) when 0 puts 'fizzbuzz' else puts 'fizz' end else case (num % 5) when 0 puts 'buzz' else puts num end end num+=1 end
さらに、if文に複数条件を指定する方法を学んだので、書きなおした。
num = 1 while (num <= 100) if ((num % 3 == 0) && (num % 5 == 0)) puts 'fizzbuzz' elsif (num % 3 == 0) puts 'fizz' elsif (num % 5 == 0) puts 'buzz' else puts num end num+=1 end