本記事の内容
FizzBuzzのちょっとしたアレンジ
要件
・1〜40までの数字を出力
・ただし3の倍数なら、その数字は"Fizz"と出力
・ただし5の倍数なら、その数字は"Buzz"と出力
・ただし3の倍数かつ5の倍数なら、その数字は"FizzBuzz"と出力
・ただし、各数字の間に、カンマ と 半角スペースを設けること
期待値
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16, 17, Fizz, 19, Buzz, Fizz, 22, 23, Fizz, Buzz, 26, Fizz, 28, 29, FizzBuzz, 31, 32, Fizz, 34, Buzz, Fizz, 37, 38, Fizz, Buzz
ポイント
最後の数字(この場合はBuzzという文字)の後ろに、カンマと半角スペースを入れないようにするには?
答えの一例(ちょっとだけでも考えたうえで、ご覧ください)
$data = 40;
for($i = 1; $i <= $data; $i++){
if($i % 15 == 0){
echo "FizzBuzz";
}elseif($i % 3 == 0){
echo "Fizz";
}elseif($i % 5 == 0){
echo "Buzz";
}else{
echo $i;
}
if($i < $data){
echo ", ";
}
}
ひとこと
・数字だけでなく、カンマと半角スペースも、for文で出力する要素とみなして、
かつ繰り返し回数が最終回でない限り出力する、ということでした。
頭の体操でもになれば幸いです。
この記事を書いた人
現役エンジニアです。よければツイッターフォローお願いいたします。
自分含め、エンジニアで頑張っている人を褒めて、励ますようなツイートを心がけています。
https://twitter.com/ohara5555