2014-01-30

1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256...

\(\frac{1}{9998}\)は、4桁で2^13まで2の累乗のパターンが出現する。

\[\frac{1}{9998} = 0.0001\;0002\;0004\;0008\;0016\;0032\;0064\;0128\;0256\;0512\;1024\;2048\;4096\;8193\;6387\;\cdots\]

Hacker Newsによれば、これは以下のような理由による。

The pattern will break down once you get past 8192, which is 2^13. That means th\cdots | Hacker News

このパターンは8192を超えると破れる。つまり、このパターンはすごいことに52桁も継続するのだ(いや、正確には、52桁目で破れる。2の代わりに3となる)

これが動く理由は、\(9998 = 10^4 - 2\) だからだ。これを展開すると、

\[\frac{1}{10^n - 2} = \frac{1}{10^n} \times \frac{1}{1 - \frac{2}{10^n}} = \frac{1}{10^n} \times \left(1 + \frac{2}{10^n} + \frac{2^2}{10^{2n}} + \frac{2^3}{10^{3n}} + \cdots\right)\]

これにより、件のパターンが現れる。このパターンが破れるのは\(2^k\)がn桁を超える時だ。それが起こるのは、近似的に、

\[2^k > 10^n => k > \frac {n \log 10}{\log 2} \]

これにより、\(n = 4\) のとき、\(4 \times \frac{\log 10}{\log2} = 13.28\) となる。

---

他のパターンも階乗の展開で生成できる。

\[\frac{x}{(1 - x)^2} = x + 2x^2 + 3x^3 + 4x^4 + \cdots\]

\(x = \frac{1}{10^n}\) とすると、延々と続くのが、

\[\frac{1}{10^n} + \frac{2}{10^{2n}} + \frac{3}{10^{3n}} + \cdots\]

これはつまり、こうなる。

\[\frac{1}{998001} = 0.000\;001\;002\;003\;004\;005\;006\;007\cdots\]

---

他の分数の例では、

\[\frac{1000}{997002999} = 0.000\;001\;003\;006\;010\;015\;021\;\cdots\]

これは、展開結果が三角数[0]になる。あるいは、

\[\frac{1}{998999} = 0.000\;001\;001\;002\;003\;005\;008\;013\;021\;\cdots\]

これはFibonacci数[1]になる。

---

二乗列を得るのは難しいが、こうやれば、

\[\frac{1001000}{997002999} = 0.001\;004\;009\;016\;025\;036\;049\;\cdots\]

[0] : http://en.wikipedia.org/wiki/Triangle_number
[1] : http://en.wikipedia.org/wiki/Fibonacci_number

> The pattern will break down It doesn't actually: 4096 8193 6387 = \cdots | Hacker News

> パターンが破れるのは

実際には破綻しない。

      4096 8193 6387
    = 4096+8192
    +         1 6384
    +           …

返信: 俺もwolframの結果を見ていて気がついた。基本的に無限に続く数列が、オーバーフローしているというのは、変態的に美しい。

If you'd like to continue the pattern beyond 52 digits, just keep adding 9s to t\cdots | Hacker News

52桁以上のパターンを続けたいならば、元の分数に9を追加すれば良い。

\[\frac{1}{9999999999998} = 1.0000000000002\;0000000000004\;0000000000008\;0000000000016\;0000000000032\;0000000000064\;0000000000128\;0000000000256\;0000000000512\;0000000001024\;0000000002048\;0000000004096\;0000000008192\;0000000016384\;0000000032768\;0000000065536\;0000000131072\;00000002621440\cdots\;×\;10^-13\]

fibonacciの場合、分母の両側に9を付け加えればよい。

\[\frac{1}{998999} \frac{1}{99989999} \frac{1}{9999899999}\]

これによって、0が増え、オーバーフローを防げる。

これはかっこいい。

追記:

平田朋義さんが3乗列を作ってくれた。

\[\frac{333466670000}{3332000199986667} = 0.0001\;0008\;0027\;0064\;0125\;0216\;0343\;0512\;0729\;1000\;\cdots\]

平田さんによる証明は、こんな感じのものがホワイトボードに書かれていた。

\[\frac{1}{10000 - 2} = \frac{0.0001}{1 - 0.0002} = 0.0001 \times (1 + 0.002 + 0.002^2 + 0.002^3) + \cdots \]

なるほど、それで9998だったのか。それで9を足すと精度が増えるのか。

4 comments:

  1. なんか自然科学的な意味がありそうで面白いですね。

    ReplyDelete
  2. TeXで10の2n乗を書くときは 10^{2n} と中括弧でくくらないと 10^2 n になってしまいますよ

    ReplyDelete
  3. 最初の方、9998 = 10\times 4 - 2 というのは 9998 = 10^4 - 2 の誤りですね。
    その次の行の10^2nと10^3nも、10^{2n}と10^{3n}の誤りです

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.