retarfiの日記

自然言語処理などの研究やゴルフ、音楽など。

小4のチャレンジ問題を考える

塾で小4を教えているのですが、そこでこのような問題がありました。

1□2□3□4□5□6□7□8□9=1
という式があります。
(1) □の中に+と-を入れてこの式を1つ完成させなさい。
(2) □の中に+と-とx(乗法)を入れてこの式を1つ完成させなさい。

この問題を解くだけなら簡単です。
(1) 1+2+3+4+5-6-7+8-9=1 (2) 1x2x3+4+5-6-7+8-9=1 1+2+3=1x2x3なのでこれなら楽。

さて、空欄に入れるだけなら(1)で28=256通り、(2)で38=6561通りあるわけですが、題意を満たす組み合わせは果たして何通りあるでしょうか。
答えは続きを読む、の下に入れておきます。

(1)は書き出せばなんとかなります。
1から9の和が45なので、足し算で23、引き算で22になるようにするのがコツです。

では、(2)は? かけ算なんて考えるの難しいし…
マンパワーでは難しいので、Pythonに頼りましたw
実は解き方あったりしたらびっくりですが…
コードはこちら

1to9calc.py

プログラミングできると意外なところで役に立ったりしますね。

本題とは関係ないのですが、Amazonの私の欲しいものリストのリンクをサイドバーに載せるなど、リンク集を更新しました。
retarfiの欲しいものリスト
他のブログを見ておお!となったので流行に乗った感がかなりしますが…w

答え

(1)
1+2+3+4+5-6-7+8-9=1
1+2+3+4-5+6+7-8-9=1
1+2+3-4-5-6-7+8+9=1
1+2-3+4-5-6+7-8+9=1
1+2-3-4+5+6-7-8+9=1
1+2-3-4+5-6+7+8-9=1
1-2+3+4-5+6-7-8+9=1
1-2+3+4-5-6+7+8-9=1
1-2+3-4+5+6-7+8-9=1
1-2-3+4+5+6+7-8-9=1
1-2-3-4+5-6-7+8+9=1
1-2-3-4-5+6+7-8+9=1
以上の12通り。

(2)
1+2x3-4x5+6+7-8+9=1
1+2x3x4-5x6+7+8-9=1
1+2+3+4x5-6x7+8+9=1
1-2-3-4x5+6x7-8-9=1
1-2x3+4x5-6-7+8-9=1
1-2x3x4+5x6-7-8+9=1
1x2+3-4x5+6-7+8+9=1
1x2+3x4+5+6-7-8-9=1
1x2-3+4x5+6-7-8-9=1
1x2-3-4+5x6-7-8-9=1
1x2-3x4-5+6-7+8+9=1
1x2-3x4x5+6x7+8+9=1
1x2-3x4x5-6+7x8+9=1
1x2-3x4x5-6-7+8x9=1
1x2x3+4+5-6-7+8-9=1
1x2x3+4-5+6+7-8-9=1
1x2x3+4x5-6x7+8+9=1
1x2x3-4-5-6-7+8+9=1
1x2x3x4-5+6-7-8-9=1
以上の19通り。