プログラマ脳を鍛える数学パズル:Q02 (by PHP7.3)

  • 公開日:2020/5/26
  • 最終更新日:2020/6/1

4年前の私のコードでは正しく動作していないことがわかりました。また、PHP7になったことでパースエラーが発生するようになっていたので改めて見直しました。

「先頭が0で始まる数字」の処理に苦労しました。必要となる演算子が「*」のみという前提でかなり強引な方法になっています。もっと良い方法に変えたくて質問したところ「文字連結の箇所を関数化して設計意図がわかりやすいコードにした方がよい」と教えてもらいましたが「すでに解けているなら今は先に進むことを優先していい」ともアドバイスをいただいたので、後日のチャレンジとしたいと思います。

参考:
PHP5から7にしたらParse error: Invalid numeric literalが出たので強引に対応したけどもっと良い方法はないでしょうか?|teratail

あと、今回は手っ取り早くevalを使用しましたが、「逆ポーランド記法」での実装も今後の課題です。