1 ポイント 投稿者 GN⁺ 2025-02-24 | 1件のコメント | WhatsAppで共有

4つの2であらゆる整数を作る

  • 数学パズルの紹介

    • 4つの数字2と目標の自然数が与えられ、ほかの数字を使わずにさまざまな数学的演算によって目標の数を作るパズル。
    • 小学生でも解ける例:
      • 1 = (2+2) / (2+2)
      • 2 = (2/2) + (2/2)
      • 3 = 2×2 - (2/2)
      • 4 = 2 + 2 + 2 - 2
      • 5 = 2×2 + (2/2)
      • 6 = 2×2×2 - 2
  • 中学生レベルの数学

    • 指数と階乗を学ぶと範囲が広がる:
      • 18 = 2^(2^2) + 2
      • 28 = (2+2)! + 2 + 2
      • 256 = (2+2)^(2+2)
      • 65536 = 2^(2^(2^2))
  • 高度な数学的トリック

    • 22を2つの2とみなすなど、さまざまなトリックが使える:
      • 26 = 22 + 2 + 2
      • 11 = 22 / √(2+2)
      • 444 = 222×2
  • 高度な数学ツールの使用

    • ガンマ関数などの高度な数学ツールを使えば、7を簡単に作れる:
      • 7 = Γ(2) + 2 + 2 + 2
  • 複素数と高度な数学

    • 複素数を使った例:
      • 12 = |2 + 2√(-2)|^2
  • ポール・ディラックの一般解法

    • ポール・ディラックがすべての数に対する一般解法を発見した。
    • 入れ子になった平方根を使って、あらゆる数を表現できる:
      • √2 = 2^(1/2) = 2^(2^-1)
      • √√2 = 2^(1/4) = 2^(2^-2)
      • √√√2 = 2^(1/8) = 2^(2^-3)
  • 一般公式

    • n = -log_2(log_2(√√...√2))
    • この公式は3つの2を使うが、2 = √(2+2) を使って4つに調整できる:
      • n = -log_√(2+2)(log_2(√√...√2))
  • パズルのルールに合う解法

    • この方法はパズルのルールに合致しており、あらゆる数を表現できる。
    • たとえば、7を表す別の方法:
      • 7 = -log_√(2+2)(log_2(√√√√√√√2))
  • 参考資料

    • この話はGraham Farmeloの著書 The Strangest Man: The Hidden Life of Paul Dirac, Quantum Genius で読んだ。

1件のコメント

 
GN⁺ 2025-02-24
Hacker Newsのコメント
  • 関数の使用を許すと、このゲームの本来の趣旨が失われる感じがする

    • 例えば、ガンマ関数は (n-1)! である
    • これで、4つの2と1つの1を使って7を作れる
    • 関数呼び出しの中に数字を隠せるなら、いつでも簡単に成功できてしまう
  • 数学的な演算を使ってよいなら

    • 後続関数を使えば簡単に解ける
    • 例: S(n) = n+1
      • 6 = 222-2
      • 7 = S(222-2)
      • 8 = S(S(222-2))
  • 26歳のDonald Knuthが1964年に"Representing numbers using only one 4"という記事を書いている

    • 単一の数字4と3つの演算 (√x, ⌊x⌋, x!) を使っている
    • すべての整数をこの方法で表せるかどうか、未解決の予想で締めくくられている
    • 付録では、1962年にJ. H. ConwayとM. J. T. Guyが書いた"π in Four 4's"という論文にも触れている
  • sqrt(2+2) の代わりに sqrt(2*2)sqrt(2^2) を使うのは奇妙な選択に見える

    • 2=sqrt(2+2) であるという理由を不必要に隠している
  • 簡潔さのほうを好む

    • 単一文字の命令だけでスタックマシンを作った
    • 0から9までの数字しか使えなかった
    • 数字23を表すには 45*3+ のような方法を使わなければならなかった
    • 各整数を最小の文字数でエンコードする問題を解かなければならなかった
  • Tchislaというモバイルゲームを思い出した

    • 与えられた数字といくつかの演算子だけで、最大1000(または10000)までの数字を作らなければならない
    • とても面白く、戦略を考えるようになる
    • UXがシンプルで効率的
    • とても時間がかかる
  • 2を3つ使っているという小さな問題がある

    • ルート記法が1/2という指数を隠している
    • 隠れた2がたくさんある
  • "four fours" という古典的なゲームがある

    • 子どものころに"The Man Who Counted"という本で知った
  • 任意の数の平方根を使うのは、ほとんど反則のように見える

    • 平方根は実質的に「2」の別の記号だ
  • 7を定義するのは本当に難しいという意見

    • 7 = 2/2 + 2 + 2 + 2 と表せる