フォーフォーズ

息子の読んでる小学生新聞に、4つの4の四則演算とカッコだけで0〜9が作れるかな? みたいな記事があったので、一緒に考えて楽しんで解いた。
掛け算と割り算は先に計算するんだよ、みたいな。

息子「じゃあ10は作れる?」
というので、四則演算だと作れないよということを証明するためにpythonで総当り計算してみました。
(ネットを見ると44を許容するルールは多そうで、それを使ったり、√4を使ったりすれば当然解けるんだけど、小学生新聞のルールの範囲内で…)

カッコの扱いの関係で正しい数式にならないやつとか、0での除算とか面倒だけど、
変な式を排除するのも面倒なので全部例外処理に任せる。(ぉぃ

それでも10秒くらいで全部の解が求まってしまうのね。すごい。

(4+4)-(4+4)= 0
(4+4)÷(4+4)= 1
(4-(4+4)÷4)= 2
((4+4+4)÷4)= 3
((4-4)×4+4)= 4
((4+4×4)÷4)= 5
((4+4)÷4+4)= 6
((4+4)-4÷4)= 7
((4+4)+4-4)= 8
((4+4)+4÷4)= 9
((4-4÷4)×4)= 12
((4×4)-4÷4)= 15
((4+4)+4+4)= 16
((4×4)+4÷4)= 17
((4+4÷4)×4)= 20
((4+4)+4×4)= 24
((4+4)×4-4)= 28
((4×4)+4×4)= 32
((4+4)×4+4)= 36
((4+4+4)×4)= 48
((4×4)×4-4)= 60
(4+4)×(4+4)= 64
((4+4×4×4))= 68
((4+4×4)×4)= 80
((4+4)×4×4)= 128
((4×4)×4×4)= 256

ちなみに別解は死ぬほどありますが省略。

確かに10という答えはなさそうだ…。

Wikipedia等を見ると狂った解が乗ってて面白いですな。