2015/11/16

[029] O太郎の定理とその拡張


3-5=-2だ。
むざむざ無駄にすな、今は極貧さ。

[さんひくごはまいなすにだ
むざむざむだにすな いまはごくひんさ]
(旧版:(216) 2011/5/10

前回に続き数学絡みの話題を。O太郎さんが考えられた斬新な回文定理を紹介します。

1桁の数のうち、2(に)、4(し)、5(ご)、7(なな)、9(く)が回文になっていることはすぐ分かります。では、ほかの数は回文になるでしょうか。O太郎さんの鮮やかな解答は次のとおり。

O太郎の定理(2014)
2以上の任意の自然数は、回文で表せる。

O太郎さんに聞いたところ、初出はtwitterだそうです(これこれこれこれ)。私はこんなことは考えたこともなかったので、初めて読んだときにはいたく感心したことですよ。

O太郎さんの興味深い証明をここにまとめておきます。

〈証明〉 2以上の自然数 n が回文で表せることを、n が偶数か奇数かで場合分けして示します。

n が偶数の場合は、次のようになります。
  • 2→ 2(に)
  • 4→ 2と2(にとに)
  • 6→ 2と2と2(にとにとに)
  • 8→ 2と2と2と2(にとにとにとに)
  • ……
以下、「と2」を増やしていくことで、すべての偶数が回文で表されます。

n が奇数の場合(3, 5, 7, 9, 11, 13, ...)は、n が4で割って1余る場合(5, 9, 13, ...)と、4で割って3余る場合(3, 7, 11, ...)にさらに場合分けして考えます。

n が4で割って1余る場合は、
  • 5→ 5(ご)
  • 9→ 2と5と2(にとごとに)
  • 13→ 2と2と5と2と2(にとにとごとにとに)
  • ……
となり、以下同様に、「2と」「と2」を両端に置いていくと4ずつ増えて、すべて回文で表せることになります。

n が4で割って3余る場合は、
  • 3→ 3さ(さんさ)
  • 7→ 7(なな)
  • 11→ 2と7と2(にとななとに)
  • ……
となり、以下同様に、「2と」「と2」を両端に置いていくと4ずつ増えて、すべて回文で表せることになります。

以上で、2以上のすべての自然数が回文で表せることが示されました。

いやはや素晴らしいですねえ。

こうなると、せっかくだから、任意の整数を回文で表したくなります。考えてみました。

定理
任意の整数(正、負、ゼロすべて)は、回文で表せる。

「1」も表せて、例外もなくなりました。

〈証明〉まず、次を示します。

(※) 3億6(300000006)以下のすべての整数は回文で表せる。

(※)は次のように示されます。
  • 3億6→ 9億6-6億(くおくろくひくろくおく)
  • 3億5→ 4と9億6-9-6億と4(しとくおくろくひくくひくろくおくとし)
  • 3億4→ 4と4と9億6-9-9-6億と4と4(しとしとくおくろくひくくひくくひくろくおくとしとし)
  • ……
つまり、「4と」「と4」を両端に置いて、真ん中に「-9」を入れると、合計1減ることになり、これを繰り返せば、3億6以下の整数はすべて回文で表せることになります。

一方、3億7以上の整数は、O太郎の定理によって回文で表せることがわかっています。よって、すべての整数が回文で表せることが証明されました。

たとえば、整数「1」は、
4と4と……と4と4と9億6-9-9-……-9-9-6億と4と4と……と4と4
という、21億46文字の回文で表されます。

上記の回文表示で「4」「9」「9億」を「し」「く」「くおく」と読んでいることに抵抗のある方には、次のようにして16以下の整数を順に回文表示する方策をお薦めします。
  • 16→ 2×9-2(にくひくに)
  • 15→ 2と5と5と5と5と2×9-5×9-2と5と5と5と5と2(にとごとごとごとごとにくひくごくひくにとごとごとごとごとに)
  • 14→ 2と5と5と5と5と2と5と5と5と5と2×9-5×9-5×9-2と5と5と5と5と2と5と5と5と5と2(にとごとごとごとごとにとごとごとごとごとにくひくごくひくごくひくにとごとごとごとごとにとごとごとごとごとに)
  • ……

この定理の応用として、たとえば、佐渡の気温を回文で表現することができます。佐渡が氷点下5度であることを回文で表すには、マイナス5を表す回文をφとして、「佐渡、φ度さ」と言えばOKです。なんと便利なことでしょうか。

引き続く課題としては、「有理数を回文表示する」という問題が考えられますが、「整数でない有理数で、回文表示できるものが存在するか」すらも私にはわかりません。挑戦求む。

51 件のコメント:

  1. すっきりした表現ではないんですが、方針としてはこんな感じになるんでしょうか。
    任意の数AとBがあって、

     取る和でAとB。とAで割ると……

    (A+B)/A=1+B/A なので、AとBをうまく選べば任意の有理数が表現可能。

    もっときれいになりそうな気がするのでどなたか!

    返信削除
    返信
    1. 有理数表現ができたとして、P,Qを有理数の回文表現として

      Q乗るわP、割るのQ

      (Q^P)/Q =Q^(P-1)

      というのまで考えてみました。

      削除
    2. 「割る」をどう使うかかなり考えましたが、何も思いつきませんでした。「取る和」と来ましたか。しかしやや苦しいものがあり残念。

      あれこれ考えて、次の形に行き着きました。
      任意の有理数を回文表示するには、1/m(mは0でない整数)の形の分数が回文表示できれば十分です。(∵n/mの形の有理数は、1/mをn個「と」で結べばよいから。)
      1/m を回文表示するために、-m+1 の回文表示をA、2m-2 の回文表示をBとします。すると 1/m は
        AとBと、2対2とB、とA (=A+B+2:(2+B)+A)
      と表せて、これは回文になっている……と言えなくもありません(「2対2とB」を、「にいたいにとB」と読む)。
      カッコが読みに表現できていないのも若干苦しいところ。

      代数的数まで行くと、根号で表示できないものの回文表示はさすがに困難そうですなあ。

      削除
    3. 「分子2、預かる割る数ア(二進部)」
      (2/ア(二)  ってことだと思う。)
      って回文を応用できないかと……
      数学的思考部分はだれか考えて!

      削除
    4. やっぱり厳しいですよねぇ。もうちょっと考えたいです。

      ほかには、「Aと9log6とA」の形が使えますね。もうちょっと拡張可能かも。

      削除
    5. あとはQを有理数として

      Q万Γ(Q) (QまんがんまQ)

      ができますね。整数だと階乗なので広がらないですけどN/2などなら。

      削除
    6. 青村さんはじめまして。応用したいところだけど、「預かる」も「二進部」も解釈困難な感じですなあ。分子分母使って綺麗に表せるといいですけど難しそう。

      削除
    7. igatoxinさん、そうですね、特殊な関数を使う方向はありですね。しかしQ万のQのところに回文表現の有理数を置くのは辛いかもしれない……

      今日の昼に考えていたこと:
      log_{6×6}6、つまり 1/2 を「ろぐろくろくろく」と読んでよければ、
      9億9- 6log_{6×6}6 log_{6×6}6 log_{6×6}6 log_{6}6 -9億 = 9-3/4
      (くおくくひく ろく ろぐろくろくろく ろぐろくろくろく ろぐろくろくろく ろぐろくろく ひくくおく)
      みたいな有理数が作れるから、ここから、2進有理数(分母が2のベキの分数で書ける有理数)が全部回文表示できるのでは……
      と思っていたが、パソコンを開いてみたら、これはモーリーさんの結果に完全に包摂されていたのであった。

      削除
  2. わー、私のtweetを取り上げて下さって光栄至極です。
    ちょっと思い付いたことでも発信しておくものですねー。
    それにしてもその後の発想力の凄いこと。
    9億6とか九九にするとか。参りました。

    >「整数でない有理数で、回文表示できるものが存在するか」
    ありますよー。「分」(0.1)「絲」(0.0001)「微」(0.000001)とか。
    微と微と微と微と微と…とやっていくと日常生活で使う数字は大体表現できそうです。
    でもやっぱり分数にしたいところですよねー。

    返信削除
    返信
    1. 回文定理、埋もれているのはもったいなくて、こうして取り上げたいとずっと思っていたのでした。もとのツイートが今になってリツイートされたりしてますね。嬉しいことです。

      小さい方の単位はぜんぜん考えていませんでした。なぜ思いつかなかったのか……

      削除
  3. ところで、記事中、整数の回文表示に「9億6-6億」を使っていますが、これは実は「9億9-9億」(くおくくひくくおく)でも問題なかったですね。この値は9だから、だいぶ使い勝手が良くなります。
    1も、「5と9億9-9-9-9億と5」(ごとくおくくひくくひくくひくくおくとご)とコンパクトに19文字で表現できます。

    返信削除
  4. モーリー2015/11/17 14:45

    とりあえず、桁数が有限の小数はすべて回文で表せることを発見しました。
    内容はまた後程。

    返信削除
    返信
    1. モーリー2015/11/17 14:57

      回文の文字数が有限でなくてよいのであれば、この方法を用いてすべての実数を回文で表わすことが可能です。
      ただ正直、無理数でない限りは有限の長さの回文で表わせたら美しいなと思っている次第です。

      削除
  5. モーリー2015/11/17 18:50

    <有限な桁数をもつすべての実数は回文で表現可能であることの証明>
    有限な桁数をもつある実数をAとする。
    ①Aが整数のとき
    O太郎の定理およびその拡張から、Aは回文で表現可能である。
    ②Aが整数でないとき
    1)0<A<1のとき
    以下、nは自然数とする。
    2.99…9(2と小数点のあとに9が2万×n+1個続く数)は
    「2.」に「9…9」2万個に9(途中の9はn個)
    (にこんまにく…くにまんこにく)(途中の「く」はn個)
    と表せる。
    これを用いて、
    1/(10の(2万×n+1)乗)
    =5+5+5+9億9-9-9-2.99…9-9-9-9億+5+5+5
    (ごとごとごとくおくくひくくひくくひくにこんまにく…くにまんこにくひくくひくくひくくおくとごとごとご)←この回文をPnとする
    と表せるので、
    2万×n+1がAの桁数以上になるように適当なnを定め、A×10の(2万×n+1)乗回並べて
    PnとPnと…とPn
    とすることにより、Aを回文で表現できる。
    2)0<A<1でないとき
    A=N+a(Nは整数、aは0<a<1)と表せる。
    NをO太郎の定理およびその拡張を用いて回文化したものをNpとする。
    2万×n+1がaの桁数以上かつ、a×10の(2万×n+1)乗(=αとする)が偶数となるように適当なnを定めると(注:aの桁数は有限なので、十分に大きいnを設定すれば、αの1の位を0とし条件を満たすことが必ず可能)、Npの両端にPnをα/2回ずつ並べて
    PnとPnと…PnとNpとPnとPnと…とPn
    とすることにより、Aを回文で表現できる。

    以上より有限な桁数をもつすべての小数は回文で表現することができる。
    (証明終了)

    返信削除
  6. モーリー2015/11/17 19:55

    (番外編)
    <全ての実数を回文化することへの考察>
    上記の表現を用いて、すべての実数は
    …+P3+P2+…+P2+P1+…+P1+Np+P1+…+P1+P2+…+P2+P3+…
    と書ける。
    つまり、小数部分の小数第1~20001位をP1で、小数第20002~40001位をP2で…と各々表現していけばよい。
    ただし例えば小数第20001位が奇数であったときは、それより1小さい偶数であるとみなして表現し、余った1はP2での表現に丸め込めばよい。
    以下同様。

    これによって無限小数も表現可能であるが、その場合の文章の文字数は無限となる。
    すなわち、回文を
    「上から読んでも下から読んでも同じ文章」
    と定義するのか、
    「文中のある1文字もしくは同一の文字が2連続する部分を選んだとき、そこから前後それぞれn文字目が常に同じ文字となっている文章」
    と定義するのかによって、これを回文化できたといえるかどうかは変わる。

    返信削除
    返信
    1. さすがだなぁ。こういうの好きですよね、モーリー。

      個人的には有限性は保証したいですよね。
      無限小数は普通に書き下すこともできないのでそこまでフォローしなくていいのでは。

      削除
    2. モーリー2015/11/17 22:37

      ありがとうございます!
      無限小数の中でも、やはり有理数を何とかしたいと思っています。
      いくつかのアイデアはあるものの、今のところうまくいっておりません。

      削除
    3. なんかすごいことになってますなモーリーさん!(実は初コメントありがとうございます)
      出だしの「にこんまにくくくくにまんこにく」に議論がありそうな気もしなくはないけど、証明全体に漂うただならぬ迫力を加味して、ためらいなく問題なしとしましょう。10進有限小数が全部表せました!
      あとは現時点での最終目標、任意の有理数の回文表示ですな。無限小数の無限回文表示については、有限でないのはやはりちょっと嫌だし、そもそも、各項の中に「-9」とか「-9億」とか出てくるので、この級数は収束しているとは言い難い感じがあります。どうにか有限回文表示を見つけたいところです。

      削除
  7.  どこだかのげんじゅうみんゾくによると、
    「すくな」「いぱい」「無くす」
     これで全てのかずをあらわしているソうです。

    返信削除
    返信
    1. それはしらなかったなあたまげたたまげた。しかし個々の数を表したいという我々の目的からすると残念な結果ですな。「か」「た」「む」とかだったらよかったのに。数の回文表示の道は険しいなあ。

      削除
  8. あらためて よくきくと
    「ないな」「いちい」「に」「しこし」「いぱい」
    これだけで 全てのかずを回文であらわせるよ と、
    どこだかのげんじゅうみんがおしえてくれました。
    「ないな」は「無」のほうがいいかも知れません。
    「ソのたのソ」とかで「ソのほか」を
    まるめられればよいかもとおもいましたが都合がよすぎかも。
    「た」「たた」「たたた」とかはよさ気かも。
    「1、2、(3、)たくさん」がもとで、
    ともかく まるめる ほうこうが示せればとおもいました。

    返信削除
    返信
    1. 大きい数が数えられないそういう言語で、ゼロにあたる言葉があるのは、文化人類学的大発見なんではないだろうか。

      削除
  9. 大盛況ですねー。
      4と5の比の如し (=4/5)
    で分数を表すみたいなのはどうですかねえ。
    これだと少数になってしまうのでちょっと無理して、
      2と7の比、のち4と2 (=2/7+4+2) 
    2の所を有限小数に置き換えてもいいかも。

    返信削除
    返信
    1. 「……の比」はうまく使えるといいけれどどうも苦しくなりますなあ。
      それより「4と5の……のごとし」に大きな可能性を感じましたよ。

      4と5の和とは9のこと。この9は永久のごとし。

      ところで何やら大盛況になっていて、コメント欄だけでなくてアクセス数もけっこうすごいことになっています。O太郎さんのアイディアの卓抜さのおかげですなあ。

      削除
  10. 1/Nを「Nの逆数」とみて、「Nの逆さ」あるいは「逆さのN」と書いてよければ

    NのさかさとさかさのN=2/N

    N=2Mとおくことで任意の1/Mが表現可能。
    ……最初のよりは自然かと。

    返信削除
    返信
    1. モーリー2015/11/18 18:30

      逆数は考えたんですよねー。
      1/9、1/99、1/999・・・が表現できるのなら、任意の循環小数は表せるはずなので。
      「Nの逆さ」は個人的にはあんまりピンとはこなかったですけど、2.999…のボクが言えたことではないですね苦笑

      削除
    2. モーリー2015/11/18 19:55

      あ、違うか。
      ある桁数以降が循環してて、そこまでは循環してない循環小数?は無理だ。
      けどその場合は循環小数に正の小数か負の小数を足せばいいから表せるな。

      削除
    3. モーリー2015/11/18 19:59

      いや、やっぱ表せるとはかぎらんな・・・

      削除
    4. 逆数は負の冪で表現できるから冪表現を探した方が早いような気がしてきたのであった……

      削除
    5. モーリー2015/11/18 20:26

      分数を考える段階で、逆数もべき乗も通りますよね。
      なんとか有理数までたどり着きたい。。。

      削除
    6. 「さかさ」は惜しい感じですね、逆数のことを逆さって言わなそう。
      モーリーさんのアイディアを修正すれば、1/9, 1/90, 1/900, ..., 1/99, 1/990, 1/9900, ... などなどが表せればよい、ですね。しかしこれだとちょっと無理っぽさが漂いますな。
      ベキはたしかに何かうまい表現がありそうな期待がありますが、果たして……。

      削除
    7. モーリー2015/11/18 22:55

      やはり√4を「こんよん」と呼ぶのは無理がありますね苦笑
      任意のべき乗を表現する方法が必要だ。
      そうすればまず単位分数が表わせて、その次に有理数が表わせて、その次に任意の根が表せることになるから、かなり広がる。

      削除
    8. そうですね、ベキができれば、あらかたのことはできそう。任意のベキでなくても、ある程度の範囲のベキが表せる方法が見つかればよいけれど。
      モーリーさんがいまいちばん答えに近そうな気がするから、ぜひ頑張ってください!

      削除
  11. 有限な桁数の正の実数の√の表し方を考えました。
    √x
    =4*√(x/16)
    =4*√{2*(x/32)}
    =4*√{√4*(x/32)}

    ここで、xの桁数が有限ならx/32の桁数も有限なので、x/32=yと置きなおして
    「「√4個のy」の根」4個(こんよんこの○○○のこんよんこ)
    とすれば、表現かのうですね。
    たとえば
    √2=4*√(√4*0.0625)
    なので、
    「こんよんこのごとごとごとくおくくひくくひくくひくにこんまにくにまんこにくひくくひくくひくくおくとごとごとごと…ごとごとごとくおくくひくくひくくひくにこんまにくにまんこにくひくくひくくひくくおくとごとごとごのこんよんこ」
    という625000…00012文字(途中0が19995個)の回文になりますね。

    返信削除
    返信
    1. これも巧妙でアイディア豊富ながら、「根4」とか言わなそうな気配がありますね。もし根号が表現できると、有理数にはそこそこ近づけそうな感じもしますが、さて。

      削除
    2. モーリー2015/11/18 22:56

      あ、これへの返信、上に書いてしまいました。

      削除
  12. はじめまして。任意の数を回文で表す方法を考えました。
    X を表したい数 - 4 とし、X' を X を逆にしたものとします。すると求める数は

    "うすじも”の文字数足すX足すゼロかける"けかろぜすたX'すたうすじも”の文字数

    と表せます(”うすじも”の文字数が4なので)。
    たとえば、e^π (いーのぱいじょう) を回文で表すと、

    ”うすじも”の文字数足すe^π-4足すゼロかける"けかろぜすたんよくひうょじいぱのーいすたうすじも"の文字数

    となります。

    返信削除
    返信
    1. 天才すぎる!!
      いま時間ないから、あとでコメントしますが、とりあえず衝撃を受けた瞬間のコメントを残しておこう……

      削除
    2. モーリー2015/11/19 22:48

      おおお・・・全く予想もしなかったアプローチ・・・

      削除
    3. うーん成立している。文句のつけようがないなあ。見方によっては、ここまでに挙がったどの解よりも、日本語として自然だとさえ言える……。

      これはナンセンスだから駄目だ、と言いたくなる人は多いと思います。でも、「ナンセンスな文字列」とは何かを考えだすとけっこう難しい問題です。e^πの表現を例にとれば
      "う、筋も"の文字数足すe^π-4足すゼロかける"「毛か?」「ロゼす」タン!翌日、紆余。爺、パ。ノー椅子。多雨。筋も"の文字数
      みたいに強引に語句を当てて、強引に背後に物語をでっち上げることはできる。その場合もこれをナンセンスでないと言えるかどうか。文字列の「意味」とは何か、という深い問題が背後に潜んでいる。
      あと、私の個人的な見解を言えば、ナンセンスな文字列を含んでいても回文と呼んでよいと思っています。このブログ旧版にはいくつかそういうのあります。出来の良し悪しはまた別の話だけど。

      それにしても、ナンセンスな文字列を含んだ回文を回文と見なすか、がこれほど切実な問題として我々に迫ってきたことが過去にあったろうか……。

      削除
    4. ただ、文字列のメタ的な情報を用いるのではない「まっとうな」解があるとなおよい、ということには変わりありません。そういう解もぜひ得たいところ。

      削除
    5. このアプローチは目からウロコでした。

      せっかくなので改良しますね。

      【「かとんな」すたろぜるけかうすじも】の文字数×ゼロ+「なんとか」

      これでギミック一つになって長さもコンパクトになるかと。

      削除
    6. たしかに! ぐっと分かりやすくなりますね。

      なんでもogiekakoさん曰く、「”うすじも”の文字数割る”わうすじも”の文字数」という回文が「4と5の比の如し」になっている!というところからスタートしたのだそうで、これにもまた感動しています。互いに影響を与え合いながら進んでいく楽しさを改めて感じました。ブログやっててよかったよかった。

      削除
    7. toxin iga さんの改良に気づかなかったのは迂闊でした。
      の文字数 を最後に置くことしか考えてなかったので。

      しかし無意味な文字列をつかうと色々とずるいことができてしまうので、これでいいんかなという気分はあります。
      例えば、

      【くおと「かとんな」をつれ・・・こしだ】
      (ただしここで先の文字列を「なんとか」とおく)

      など。これはいかにもナンセンスで、「の文字列」は許せてもこれは許せないという人はいそうです。

      削除
    8. モーリー2015/11/21 0:15

      あと、これまた輪をかけてすごーーーーくくだらない指摘なんですが、「文字数」を「字数」とすれば、2文字短縮可能ですね。

      削除
    9. うーんたしかに「「なんとか」とおく」はナシな感じですな。この感覚の違いはどこからくるだろう。数式になっていないからだろうか……

      削除
    10. 「の文字列」は「の文字数」の間違い

      削除
  13. モーリー2015/11/21 0:17

    あれ?書いたコメントが消えた。。。

    足を引っ張るわけではなく、正確を期すだけなのですが、この方法で表せるのは任意の数ではなく、「有限文字数で表現可能な任意の数」ですね。
    有限文字数で表現不可能な数は数学でも日本語でも、もちろん回文でも表現不可なので、この数が表したい!と思いうる数はすべて表せるし困らないわけですが。

    返信削除
    返信
    1. たまにコメントが一時消滅することがあるようです。私のほうには、コメント投稿時にメールが届くので分かるんですけど。しばらく待っていると復活するはず。

      はい、ogiekakoさんの結果は正確には、「表現可能な数」は回文でも表現可能、ということになりますね。面倒なので「任意の数」って言っちゃってますが。
      回文とは関係ないけど、どう頑張っても表現可能でない数があるというのは、なんとも奇妙なことに思われますなあ……

      削除
  14. 居たあの底課す口伝、意の語句秘しA(4引く5のインデクス書いての値)
    (いたあのていかすくでんいのごくひしAしひくごのいんでくすかいてのあたい)

    Aは回文になっている数であるとする。 

    何となく出来たのはこんなかんじ。

    返信削除
    返信
    1. これはずいぶん独自な世界の数式ですな……値はいくつなのだろうか……

      削除