最長不倒の4数を探せ!                      戻る

 当HPがいつもお世話になっているHN「数々の和」さんからの出題です。
                                       (平成26年2月25日付け)

 重複を許す4つの整数の組 {a,b,c,d} を決めたとき、それらに四則と括弧を使って得ら
れた結果は、たくさんの値を取る。その値が、1、2、3、・・・、n までのすべての整数を作り
出し、n+1 が作り出せないとき、組 {a,b,c,d} の不倒距離はnであるということにする。
(→ 参考:「数の創出2」)

 例えば、4つの整数の組を {1,2,3,4} とすると、

 1=1×2+3−4 、2=1+2+3−4 、3=1×2+4−3 、4=1+2+4−3 、5=1×3+4−2 、
 6=1+3+4−2 、7=3+4×(2−1) 、8=2+3+4−1 、9=1×2+3+4 、10=1+2+3+4 、
11=1+2×3+4 、12=3×4×(2−1) 、13=3×4+2−1 、14=(3+4)×2×1 、
15=(3+4)×2+1 、16=(1+3+4)×2 、17=3×(2+4)−1 、18=3×(2+4)×1 、
19=3×(2+4)+1 、20=4×(2+3)×1 、21=4×(2+3)+1 、22=2×(3×4−1) 、
23=2×3×4−1 、24=1×2×3×4 、25=2×3×4+1 、26=2×(3×4+1) 、
27=3×(2×4+1) 、28=4×(2×3+1) 、29=???

であるから、{1,2,3,4} の不倒距離は、28である。

問題1 不倒距離が51である組を見つけてください。

問題2 不倒距離が51を超える組はあるでしょうか。

※出題者は答えが分からない。わかっているのは最長不倒距離≧51。私の力ではこれを
 超える組が見つけられなかった。


















(答) 問題1 (工事中)  問題2 (現在、最長不倒距離は、52)

 30=(1+4)×2×3 、32=(1+3)×2×4 なのに、29や31が表せないなんて...。


 GAI さんが挑戦されました。(平成26年2月27日付け)

数字 : 連続範囲 ”−” 左の区間で作れない数 ”+” 離れて作れる数
----------------------------------------------------------------------------
1111 : 0〜4 ”−” Φ ”+” Φ
1112 : 0〜6 ”−” Φ ”+” Φ
1113 : 0〜9 ”−” Φ ”+” Φ
1114 : 0〜12 ”−” 11 ”+” Φ
1115 : 0〜12 ”−” Φ ”+” Φ
1116 : 0〜14 ”−” Φ ”+” 18
1117 : 0〜16 ”−” 2,11 ”+” 21 (←0〜16のうち2と11は作れなく、少し離れて21が作れる。)
1118 : 0〜18 ”−” 2,12,13 ”+” 24
1119 : 0〜20 ”−” 2,13,14,15 ”+” 27
1122 : 0〜9 ”−” Φ ”+” Φ
1123 : 0〜12 ”−” 11 ”+” Φ
1124 : 0〜16 ”−” 14 ”+” Φ
1125 : 0〜20 ”−” 17,19 ”+” Φ
1126 : 0〜24 ”−” 20,22,23 ”+” Φ
1127 : 0〜28 ”−” 1,19,23,25,26,27 ”+” Φ
1128 : 0〜27 ”−” 1,22,26 ”+” 32
1129 : 0〜28 ”−” 1,23,25 ”+” 30,36
1133 : 0〜18 ”−” 14,17 ”+” Φ
1134 : 0〜24 ”−” 19,21,22,23 ”+” Φ
1135 : 0〜25 ”−” 22,23 ”+” 30
1136 : 0〜28 ”−” 26,27 ”+” 30,36
1137 : 0〜35 ”−” 26,30,31,33,34 ”+” 42
1138 : 0〜33 ”−” 29 ”+” 36,40,48
1139 : 0〜40 ”−” 22,34,38,39 ”+” 45,54
1144 : 0〜21 ”−” Φ ”+” 24,25,32
1145 : 0〜26 ”−” Φ ”+” 28,30,40 (←0〜26がもれなく作れて、さらに、28,30,40も作れる。)
1146 : 0〜36 ”−” 13,33,34 ”+” 48
1147 : 0〜36 ”−” 8,16,17,19 ”+” 40,42,56
1148 : 0〜41 ”−” 7,9,15,17,18,19,22,26,38 ”+” 45,48,64
1149 : 0〜46 ”−” 8,16,19,20,21,23,25,29,42,43 ”+” 50,54,72

 ここまで調べて疲れました。連続で出来る範囲が少しずつ広がる感じがします。以降よろしく!


 空舟さんも挑戦されました。(平成26年2月28日付け)

 私がコンピュータで、1≦a≦b≦c≦d≦100 を全探索してみたところ、

   {a,b,c,d} = {2,3,4,22}

が最大という結果でした。100<d の範囲に、これを超える組があるかどうかについては、直
感的には無さそうですが、証明はちょっと大変そうです。


(コメント) 空舟さんの結果を伺って、具体的に数式を探索してみようという気分になった。

1=3×4-22÷2  2=2×3×4-22  3=(22-4)÷3÷2  4=(22-4)÷3-2  5=(22-3×4)÷2
6=(22-4)÷2-3  7=(22+2×3)÷4  8=(22-4)÷3+2  9=(2+22)÷4+3  10=(4+22)÷2-3
11=22÷2×(4-3)  12=(22-4)÷3×2  13=22-2-3-4  14=3+22÷(4-2)
15=(22-2)÷4×3  16=(4+22)÷2+3  17=(22+3×4)÷2  18=22-(3-2)×4
19=22-2+3-4  20=22-(2×3-4)  21=22-2-3+4  22=22×(2+3-4)  23=3×4+22÷2
24=22+(2×3-4)  25=22+4-3+2  26=22+(3-2)×4  27=22-2+3+4  28=22+3×(4-2)
29=22÷2×3-4  30=2×(22-3-4)  31=22+2+3+4  32=2×22-3×4  33=22+2×4+3
34=(22-3)×2-4  35=(22×3+4)÷2  36=22+2×(4+3)  37=22÷2×3+4
38=(22-3)×4÷2  39=(22-4)×2+3  40=22+3×(2+4)  41=22÷2×4-3
42=(2+3)×4+22  43=22×2+3-4  44=(22×2)×(4-3)  45=22×2-3+4
46=2×3×4+22  47=22÷2×4+3  48=(22-2-4)×3  49=(22+4)×2-3
50=(22+3)×4÷2  51=22×2+3+4  52=(22-4)×3-2  53=       .
54=(22+3)×2+4  55=(22+4)×2+3  56=2×22+3×4  57=         58=22×3-2×4
59=         60=(22+2-4)×3  ・・・・・・・・

 現在の最長不倒距離は、52。 まだまだのびる?


 当HP読者のHN「Y.I.」さんより、平成26年3月16日付けでメールを頂いた。

 現在、最長不倒の問題に挑戦しているのですが、四数の組み合わせは多種多様なので、
そのすべてをリストにしてみました。(a,b,c,d)を組み合わせたときに、数が出てくる順番
が、a→b→c→dとなるもののリストです。ただし、いくつか重複があるかもしれません。

 全通りを調べるには、abcdを並べ替えて(24通りある)、すべてを試せばよいはずです。
リストは196個あるので、まだすべて試すのは難しいかもしれません。

 これを使って100以下で探索していますが、今のところ最長不倒52を超えるペアは見つか
っていません。本当に52を超えることはあるのでしょうか。性質上、上限が存在するはずな
のですが…。

【リスト】 a+b+c+d、a+b+c-d、a+b+c*d、a+(b+c)*d、(a+b+c)*d、a+b+c/d、a+(b+c)/d
(a+b+c)/d、a+b-c+d、a+b-c-d、a+b-c*d、a+(b-c)*d、(a+b-c)*d、a+b-c/d、a+(b-c)/d
(a+b-c)/d、a+b*c+d、(a+b)*c+d、a+b*(c+d)、(a+b)*(c+d)、a+b*c-d、(a+b)*c-d、a+b*(c-d)
(a+b)*(c-d)、a+b*c*d、(a+b)*c*d、a+b*c/d、(a+b)*c/d、a+b/c+d、(a+b)/c+d、a+b/(c+d)
(a+b)/(c+d)、a+b/c-d、(a+b)/c-d、a+b/(c-d)、(a+b)/(c-d)、a+b/c*d、(a+b)/c*d、a+b/(c*d)
(a+b)/(c*d)、a+b/c/d、(a+b)/c/d、a+b/(c/d)、(a+b)/(c/d)、a-b+c+d、a-b+c-d、a-b+c*d
a-(b+c)*d、(a-b+c)*d、a-b+c/d、a-(b+c)/d、(a-b+c)/d、a-b-c+d、a-b-c-d、a-b-c*d
a-(b-c)*d、(a-b-c)*d、a-b-c/d、a-(b-c)/d、(a-b-c)/d、a-b*c+d、(a-b)*c+d、a-b*(c+d)
(a-b)*(c+d)、a-b*c-d、(a-b)*c-d、a-b*(c-d)、(a-b)*(c-d)、a-b*c*d、(a-b)*c*d、a-b*c/d
(a-b)*c/d、a-b/c+d、(a-b)/c+d、a-b/(c+d)、(a-b)/(c+d)、a-b/c-d、(a-b)/c-d、a-b/(c-d)
(a-b)/(c-d)、a-b/c*d、(a-b)/c*d、a-b/(c*d)、(a-b)/(c*d)、a-b/c/d、(a-b)/c/d、(a-b/c)/d
a-b/(c/d)、(a-b)/(c/d)、a*b+c+d、a*(b+c)+d、a*(b+c+d)、a*b+c-d、a*(b+c)-d、a*(b+c-d)
a*b+c*d、(a*b+c)*d、a*(b+c)*d、a*(b+c*d)、a*b+c/d、(a*b+c)/d、a*(b+c)/d、a*(b+c/d)
a*b-c+d、a*(b-c)+d、a*(b-c+d)、a*b-c-d、a*(b-c)-d、a*(b-c-d)、a*b-c*d、(a*b-c)*d
a*(b-c)*d、a*(b-c*d)、a*b-c/d、(a*b-c)/d、a*(b-c)/d、a*(b-c/d)、a*b*c+d、a*b*(c+d)
a*b*c-d、a*b*(c-d)、a*b*c*d、a*b*c/d、a*b/c+d、a*b/(c+d)、a*(b/c+d)、a*b/c-d
a*b/(c-d)、a*(b/c-d)、a*b/c*d、a*b/(c*d)、a*b/c/d、a*b/(c/d)、a/b+c+d、a/(b+c)+d
a/(b+c+d)、a/b+c-d、a/(b+c)-d、a/(b+c-d)、a/b+c*d、(a/b+c)*d、a/(b+c)*d、a/(b+c*d)
a/((b+c)*d)、a/b+c/d、(a/b+c)/d、a/(b+c)/d、a/(b+c/d)、a/((b+c)/d)、a/b-c+d、a/(b-c)+d
a/(b-c+d)、a/b-c-d、a/(b-c)-d、a/(b-c-d)、a/b-c*d、(a/b-c)*d、a/(b-c)*d、a/(b-c*d)
a/b-c/d、(a/b-c)/d、a/(b-c)/d、a/(b-c/d)、a/b*c+d、a/(b*c)+d、a/b*(c+d)、a/(b*c+d)
a/(b*(c+d))、a/b*c-d、a/(b*c)-d、a/b*(c-d)、a/(b*c-d)、a/(b*(c-d))、a/b*c*d、a/(b*c)*d
a/(b*c*d)、a/b*c/d、a/(b*c)/d、a/(b*c/d)、a/b/c+d、a/(b/c)+d、a/(b/c+d)、a/(b/(c+d))
a/b/(c+d)、a/b/c-d、a/(b/c)-d、a/(b/c-d)、a/(b/(c-d))、a/b/(c-d)、a/b/c*d、a/(b/c)*d
a/(b/c*d)、a/b/c/d、a/(b/c)/d、a/(b/c/d)、a/b/(c/d)

<表を使う上での注意点>

 そのまま使うと、0で割り算することがあるので、除数が0でないことを確認しなければなり
ません。そのプログラムを書きましたので、ご利用いただけると嬉しいです。配列変数Result
に代入する部分です。愛用のVisual Basic 2010 で書いたものですが、VBAでも使えると思
います。因みに、100以下では52以上は見つかりませんでした。200まで探索しているところ
ですが、いまだに動き続けています...。


(コメント) Y.I.さん、圧巻ですね!お考えいただきありがとうございます。上記で、空舟さ
      んの結果を伺って探索した数式も正直に告白すれば、4つの数の間に演算子を
      アトランダムに挿入して計算した結果から適するものを取り出したものです。
      (Excel のVBAを使いました。)Y.I.さんのリストを使って、計算させてみたいと思
      います。果たして、最長不倒距離「52」を超えるものは現れるでしょうか?