『4つの3』問題はこんなにも異様だった !?

 『4つの3』『4つの4』問題はみなさんご存じのパズルでしょう。
 前者は 10 までの式しか掲載されていないことが多く、11 以上の数についても知りたい!
 そこで、あるアイデアを借りて『4つの3』問題にもう少し踏み込んでみよう、という話です。

1.有名な2つの問題『4つの3』『4つの4』

 4つの3。そして、4つの4。
 パズルには、この2つの有名な問題がありますね。
 「+-×÷で結んで \(1\)〜\(10\) を作ろう!」というヤツです。
 『4つの4』の方は根号 \(\sqrt{\ }\) や分数もOKで、制限が少しユルめです。

 両者はさまざまなパズル本に収録されていて、今さら私があーだこーだ語る物ではありません。
 まぁ、答えだけ書いちゃいましょうか。

 4個の3で \(1\)〜\(10\) を作る。

\begin{align} 3 \div 3 + 3 - 3 &= 1 & 3 \div 3 + 3 \div 3 &= 2 \\ 3 \times 3 - 3 - 3 &= 3 & (3 \times 3 + 3) \div 3 &= 4 \\ 3 + 3 - 3 \div 3 &= 5 & 3 + 3 + 3 - 3 &= 6 \\ 3 \div 3 + 3 + 3 &= 7 & 3 \times 3 - 3 \div 3 &= 8 \\ 3 \times 3 + 3 - 3 &= 9 & 3 \times 3 + 3 \div 3 &= 10 \end{align}

 4個の4で \(1\)〜\(10\) を作る。

\begin{align} \dfrac{44}{44} &= 1 & \dfrac{4}{4} + \dfrac{4}{4} &= 2 \\ \dfrac{4 + 4 + 4}{4} &= 3 & (4 - 4) \times 4 + 4 &= 4 \\ \dfrac{4 \times 4 + 4}{4} &= 5 & \dfrac{4 + 4}{4} + 4 &= 6 \\ \dfrac{44}{4} - 4 &= 7 & 4 \times 4 - 4 - 4 &= 8 \\ \dfrac{4}{4} + 4 + 4 &= 9 & \dfrac{44 - 4}{4} &= 10 \end{align}

 『4つの4』の方はまだ話の続きがあったりする。
 これをご存じの方々は多い……かな?

 実は、\(1\) から \(10\) までの話ではなかった!
 根号 \(\sqrt{\ }\) と対数 \(\log\) を使っても良いのなら、こ〜んな式ですべて解決できるんです。

 4個の4を使って、\(1\) 以上の任意の整数 \(n\) を作る。

\[ n = \log \, _{\tfrac{\sqrt{4}}{4}} \left( \log \, _4 \ \underbrace{\sqrt{\sqrt{\cdots\sqrt{4}}}}_{n\ \text{個}} \right) \]

 ※ 括弧内の根号は \(n\) 個並びます。

 こんな式を思い付ける頭の回路を知りたいよ、アタシゃぁ😅
 この等式の証明はこのページに譲るとしましょう。

 4つの4についてはこの一般式が発見されていて、もぅ議論の余地はそれほど残ってなさそう。
 じゃぁ、4つの3についてはどうなんだろう?
 四則演算以外の数学記号をいくつか解禁して、\(11\) 以上の数も作ってみたい!
 今回はそんな話をしようと思います。

2.『4つの1』というパズル問題

 『4つの3』問題を考察する前に、まずは1冊の本を紹介しましょう。
 『数学ミステリーの冒険』(SBクリエイティブ・刊)という本です。
 その本にはいろんな数学パズル話が収録されていますが、その中に「1つの署名」と題した話がある。
 登場人物であるソームズとワツァップの2人が、4個の1に数学記号をあれこれ施してたくさんの数を作っていく。そんな話です。
 以降はこの『数学ミステリーの冒険』を「原書」と呼ぶことにします。

 とりあえず、まずは4個の1でいろんな数を作ってみましょうか。
 小さい数は四則演算で作れます。
 実際、原書では \(1\)〜\(4\) は簡単に解決してますね。

 原書での解決例。

\begin{align} 1 &= 1 \times 1 \times 1 \times 1 \\ 2 &= (1 + 1) \times 1 \times 1 \\ 3 &= (1 + 1 + 1) \times 1 \\ 4 &= 1 + 1 + 1 + 1 \end{align}

 \(5\) からは続々と新しい記号が目白押し。

\begin{align} 5 &= (1 / .1) / (1 + 1) \\ 6 &= (1 + 1 + 1)! \times 1 \\ 8 &= 1 / .\!\dot{1} - 1 \times 1 \\ 14 &= 11 + \sqrt{1/.\!\dot{1}} \\ 25 &= \left( \sqrt{1/.\!\dot{1}} + 1 \right)! + 1 \end{align}

 ※ ところどころ省略しています。原書には 5〜25 すべて載っています。

 \(1\) の左下のホクロは小数点。\(.1\) は \(0.1\) のことです。
 \(1 / .1\) で数値 \(10\) を作れるというアイデアは斬新ですよね。
 ビックリマークは階乗です。
 \(3! = 1 \times 2 \times 3 = 6\) ですね。
 \(1\) の頭のポッチは循環小数の循環節。
 \(.\!\dot{1} = 0.111\cdots\) を表し、分数だと \(\dfrac{1}{9}\) と同じです。\(1/.\!\dot{1}\) で数値 \(9\) を作っています。

 原書ではこういった式を並べて 25 まで作っていたけれど、よく考えるとこれは凄いことです。
 数字1を四則演算で繋げたところで、値はほとんど変動しませんもんね。
 でも、小数点や階乗や循環節を持ち込んだら変動幅を大きくできた。平方根も持ち込んで多少の幅調整もできた。

 しかし、残念ながら、原書では \(25\) から先に進めなかった。
 そこで、さらに2つの新しい数学記号が登場することになる。
 天井関数と床関数です。

 プログラミングを嗜んでいる方々には ceil 関数や floor 関数でお馴染みですね。
 当ページでは正数しか扱わないので、「天井関数は小数点以下切り上げ、床関数は切り捨て」という軽い認識でOKです。

 この2つの関数のおかげで、\(26\) 以降も進めるようになりました。

 \(\sqrt{1/.1} = \sqrt{10} \fallingdotseq 3.1622\) だから、\(\left\lceil \sqrt{1/.1} \ \right\rceil = 4\) になる。

\[ 28 = \left\lceil \sqrt{1/.1} \ \right\rceil ! + \left\lceil \sqrt{1/.1} \ \right\rceil \]

 ※ \(26\) と \(27\) は省略。

 いや〜、どうにかこうにか \(28\) まで来ましたよ!
 4個の1だけなのに、工夫次第でこんなにも豊富に数を作れるんですね😃

 となれば、『4つの3』問題にもこういった記号達を導入しない手はありません。
 とは言っても、ただただ記号をこねくり回したところで無駄に時間がかかるだけ。成果はあまり得られない。
 もうちょっと効率的な方法が欲しいところです。
 体系的なやり方はないだろうか?
 それを次セクションで話すことにしましょう。

3.式を量産できる秀逸なアイデア

 実は、原書には秀逸なアイデアが盛り込まれているんです。
 こんなことが考えられていた。

もし2個の1で小さな数をたくさん作れたら…… 便利じゃない?

 原書に列挙されていた式をいくつか抜粋してみます。
 こんな感じ。

\begin{align} 0 &= 1 - 1 \\ 1 &= 1 \times 1 \\ 2 &= 1 + 1 \\ 3 &= \sqrt{1/.\!\dot{1}} \\[0.5em] 4 &= \left\lceil \sqrt{1/.1} \ \right\rceil \end{align}

 ※ 以下、\(7\), \(8\) を除いて \(11\) まで式が並んでいる。

 最初は \(7\) と \(8\) の式が書かれてなかったけれど、後に式が作られて \(0\)〜\(11\) すべて揃いました。
 詳細は原書をご覧ください。
 \(8\) はまだしも、\(7\) に至っては脳ミソひっくり返るくらいの強烈な式に美味しく仕上がってます😅

 この12個の式、一体何を意味するのか?
 こういうことが言えるんです。

 なんと、\(n\) の周りの数23個、すべて一挙に表せるという!
 具体的に言うと、\(\left\lceil \sqrt{1/.1} \ \right\rceil ! = 4! = 24\) だから、\(13\) から \(35\) までの数を4つの1で表せるわけです。
 まるで「\(24\)」という製品に \(-11\)〜\(+11\) というアタッチメントを付けるかのよう。
 ハンディクリーナーや高圧洗浄機みたいだね!

 というわけで、\(1\) から順にチマチマ表す必要はもぅなくなりました。
 ところどころの数だけで良くなりました。
 既にセクションで \(28\) まで解けたから、以降は \(40\), \(63\), \(86\), \(109\), …… と23刻みの数を2個の1で表していきたいですね。
 そうすれば、どの整数も漏れることはない。
 キッチリ23刻みでなくとも、「間隔が23以下であれば良い」というのは大きな成果です。

4.しかし、現れたのは地獄のような式

 これまで『4つの1』問題を考察してきました。
 アタッチメント方式がかなり役に立ちそうですね!
 これを応用して『4つの3』問題にとりかかりましょう。

 方針は既に固まっています。
 最初にセクションのように2個の3でアタッチメントを作り、ところどころの数を2個の3で作る。
 これでヨシ!

 じゃぁ、まずはアタッチメントを作りましょう。
 ざっとこんな感じ。

 \(0\) から \(12\) までのアタッチメント。

\begin{align} 0 &= 3 - 3 & 1 &= \dfrac{3}{3} & 2 &= \dfrac{3!}{3} \\ 3 &= 3! - 3 & 4 &= \left\lceil 3.3 \right\rceil & 5 &= \left\lceil 3 + \sqrt{3} \right\rceil \\ 6 &= 3 + 3 & 7 &= \left\lceil 3! + .3 \right\rceil & 8 &= \left\lceil 3! + \sqrt{3} \right\rceil \\ 9 &= 3 \times 3 & 10 &= \dfrac{3}{.3} & 11 &= \left\lceil 3! \times \sqrt{3} \right\rceil \\ 12 &= 3! + 3! \end{align}

 これで、\(n - 12\) から \(n + 12\) までの25個の数を網羅できる。
 あとは、\(25\), \(50\), \(75\), \(100\), …… と25刻みの数を2個の3で表していけばOKかな?
 キッチリ25刻みでなくても 15〜25くらいの間隔で変則的に刻めば十分でしょう。

 とりあえず、\(25\) を2個の3で表したいですね。
 どうすればいいんでしょう?
 実は、うまいアイデアが原書には載っています。
 次のプロセスをたどるんです。

  1. 階乗を施して数をべらぼうに大きくする。
  2. その後、平方根を施して大きさを抑える。
  3. 十分に抑えた後、天井関数や床関数を使って整数化する。

 実際にやってみましょうか。
 例えば、\(25\) は9の階乗で解決できます。

 \(9! = 362880\)。
 平方根をとると、\(\sqrt{9!} \fallingdotseq 602.3952\)。
 さらに平方根をとると、\(\sqrt{\sqrt{9!}} \fallingdotseq 24.5437\)。
 というわけで、\(\left\lceil \sqrt{\sqrt{9!}} \ \right\rceil = 25\) となりました。

 後は、アタッチメントを参照して \(\left\lceil \sqrt{\sqrt{(3 \times 3)!}} \ \right\rceil = 25\) とすればOK。
 おぉ〜! 2個の3で \(25\) を表せたぞ!

 \(50\) に対しても同様にやってみましょう。

 まず、\(50\) を表す式を探しましょう。
 どうにかこうにか探しまくると、次の式が見つかりました。

\(50 = \left\lfloor \surd\surd\surd\surd\surd(44!) \right\rfloor\) (※ 5重根号です)

 でも、 \(44\) を2個の3で表す方法を知らないから、今度は \(44\) を表す式を探しましょう。
 なんとか見つかりました。

\(44 = \left\lceil \surd\surd(10!) \right\rceil\)

 \(10\) はアタッチメントの中にあります。
 これで \(50\) も無事解決しましたね!

\(50 = \left\lfloor \surd\surd\surd\surd\surd(\left\lceil \surd\surd(3/.3)! \right\rceil !) \right\rfloor\)

 これで、\(62\) までの数を4個の3で表すことができました😊

 しかも、このアイデアはそれだけに留まらない。
 なんと、アタッチメントを増やすこともできるんです。
 \(13\) 以降のアタッチメントも作ってみたよ!

 \(12\) までのアタッチメントが \(20\) にまで増えた!
 どれも2個の3でできていることに注意。

\begin{align} 13 &= \left\lceil \surd\surd\surd(12!) \right\rceil = \left\lceil \surd\surd\surd((3! + 3!)!) \right\rceil \\[0.25em] 14 &= \left\lfloor \surd\surd\surd\surd\surd(33!) \right\rfloor \\[0.25em] 15 &= \left\lceil \surd\surd\surd\surd\surd(33!) \right\rceil \\[0.25em] 16 &= \left\lfloor \surd\surd\surd(13!) \right\rfloor = \left\lfloor \surd\surd\surd(\left\lceil \surd\surd\surd((3! + 3!)!) \right\rceil!) \right\rfloor \\[0.25em] 17 &= \left\lceil \surd\surd\surd(13!) \right\rceil = \left\lceil \surd\surd\surd(\left\lceil \surd\surd\surd((3! + 3!)!) \right\rceil!) \right\rceil \\[0,25em] 18 &= 3! \times 3 \\[0.25em] 19 &= \left\lfloor \surd\surd\surd\surd\surd(36!) \right\rfloor = \left\lfloor \surd\surd\surd\surd\surd((3! \times 3!)!) \right\rfloor \\[0.25em] 20 &= \left\lceil \surd\surd\surd\surd\surd(36!) \right\rceil = \left\lceil \surd\surd\surd\surd\surd((3! \times 3!)!) \right\rceil \end{align}

 このおかげで、\(n - 20\) から \(n + 20\) まで実に41個を網羅できるようになった!
 今度は、30〜41刻みくらいでところどころの数を2個の3で表していけばいいわけです。
 さらに言うと、前述の \(25\) や \(50\) もアタッチメントとして活用できる。
 これらもフルに活かせば、4個の3でもっともっと多くの数を表すことができそう!
 「ゆくゆくは \(1\) 以上の全部の数を……!」と夢が膨らむことでしょう。

 だがしかし!
 この方法には、致命的すぎるデメリットが1つある。
 今までの話を聞いて、皆さんは絶対こう思ったに違いない。

面倒くせぇぇぇ〜〜!!!

 もぅもぅもぅ、やる気なんか絶対起こらないでしょう!
 44やら36やらの階乗が平気で顔を出し、根号 \(\surd\) が何個も何個も列をなす。
 こんな地獄のような式を愚直に計算していたら何日あっても足りません。
 というか、計算の途中でゲシュタルト崩壊を引き起こす😅

 だけど、計算記号の特徴をしっかり活かしていて、面白いアイデアですよね。
 見た目のインパクトも強烈だし。
 こういう突拍子もないことが時折起こるから、パズルは楽しいんです。
 不思議がいっぱい。驚きいっぱい。面白い世界ですよ😃

5.そして、終わりは突然やってくる

 ……とは言っても、前セクションの話を聞いて「よぉし、オレもやってみるか!」という気にはならないと思います😅
 恐ろしく気の遠くなる作業ですもんね。
 これから先もあんな鬼のような式が続々と登場するのかと思うと、震え上がるってぇモンです。
 対数 \(\log\) の扱いに慣れていない方々は、手を出さない方が賢明です。

 というわけで、今度はちょいと別の視点に立ち返ってみます。
 そういや、セクションでは、たった1つの式で『4つの4』問題を完全解決しましたっけ。
 その式をもう一度。

 4個の4を使って、1以上の任意の整数 \(n\) を作る。

\[ n = \log \, _{\tfrac{\sqrt{4}}{4}} \left( \log \, _4 \ \underbrace{\sqrt{\sqrt{\cdots\sqrt{4}}}}_{n\ \text{個}} \right) \]

 実は、巨大な括弧の中にある2個の4を3に変えても値は変わりません(3に限らず、1以外のどんな正数に変えても値は不変)。
 そして、\(\dfrac{\sqrt{4}}{4}\) を \(\dfrac{3}{3!}\) に書き換えることもできます。値が同じだから。
 ということは、こ〜んな式ができあがることになる……。

 4個の3を使って、\(1\) 以上の任意の整数 \(n\) を作れる!?

\[ n = \log \, _\tfrac{3}{3!} \left( \log \, _3 \ \underbrace{\sqrt{\sqrt{\dots\sqrt{3}}}}_{n \ \text{個}} \right) \]

 ああっ!
 一発解決してもぅた😅
 『4つの3』問題、完😅

 なんという灯台下暗し。
 解決のカギというのは、身近なところに落っこちているものなんですなぁ。

参考・参照

更新履歴