剰余を使わないFizzBuzz問題の解
本日面接を受けた企業の筆記試験に、有名なFizzBuzzが出た。
ただし、条件として剰余計算を用いてはならないとあった。
具体的には、
- %はだめ
- modもだめ
ということ。
ぶっちゃけ、かえってちょっと考え直したら、提出した回答は間違ってました。。。
という訳で、修正したプログラムを以下に記載する。使用した言語はPHP。
<?php define('MAX', 100); for ($i = 1; $i <= MAX; $i++) { if (substr((($i / 15) * 10), -1, 1) == 0) { echo($i . ": FizzBuzz"); echo"<br>"; } elseif (substr((($i / 5) * 10), -1, 1) == 0) { echo($i . ": Fizz"); echo"<br>"; } elseif (substr((($i / 3) * 10), -1, 1) == 0) { echo($i . ": Buzz"); echo"<br>"; } }
たまにはちゃんと基本のお勉強もしないとね。