Web Developer's Struggle Memories

日々の業務から思ったこと、学んだことを書き連ねていきます。

剰余を使わない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>";
    }
}

たまにはちゃんと基本のお勉強もしないとね。