フォーフォーズ
息子の読んでる小学生新聞に、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等を見ると狂った解が乗ってて面白いですな。