。
他人にもっと自分のことを話したいけど、僕がありのまま自分が思ったこと感じたことを話すと、性格の悪い人はバカにしそうだし、といって性格の良い人は普通に引いたり怒ったりしそうだから、難しいんだよな
だから性格が悪いけど僕にだけめちゃくちゃ優しい友達がほしい…(どうしようもない)
Mac で ping $HOSTNAME が通らなかった
$ ping $HOSTNAME
ping: cannot resolve nonhyperbolics-MacBook-Air.local: Unknown host
https://discussions.apple.com/thread/7707202 を参考に「ファイル共有」をオンにしたら解決した
■
C++.
#include <string> class Widget { private: std::string m_str; public: explicit Widget(const std::string& str) : m_str(str) {}; };
こういうコードを書くとわたしの CLion (エディタ) が次のようなメッセージを出してくる.
Clang-Tidy: Pass by value and use std::move
なおす.
#include <string> class Widget { private: std::string m_str; public: explicit Widget(std::string str) : m_str(std::move(str)) {}; };
こうすると特にメッセージ出ないのでこっちのほうがいい…, のかな.
むずかしい.
NOB. NUMBERと, 数の“珍しさ”について
816192=6661661161
これはパズル作家の芦ヶ原伸行氏が発見した式です. つまり, 6661661161は2種類の数字だけから構成された平方数なのです. 氏にちなんで81619のことをNOB. NUMBERと呼ぶとかなんとか.
同じような式として, 382=1444や31142=9696996などがあります. このような, 2乗すると2種類の数字から構成された数になるような正整数 (ただし,102=100や2002=40000のような0で終わる数は除く) は, 3桁以下では19個あるが, 4桁以上では3114と81619の2種類しか見つかっていないといいます.
これだけ見ると, このような数がもっとあっても良いような気もするし, 21個もあるだけで十分すごいような気もします. そこで本記事では, 「2種類の数字だけから構成された平方数 (0で終わる数除く)」というのはどの程度“珍しい”のかについて, 定量的に検討してみます.
まず, n≧2を固定して, n桁の整数が2種類の数字だけから構成された平方数になるのがどの程度“珍しい”のかを考えましょう.
n桁の数というのは, 10n-1以上10n未満の整数のことですから, 10n-10n-1個あります.
次に, n桁の平方数について考えます. n桁の平方数というのは, k2 (kは10(n-1)/2以上10n/2未満の整数) という形をしているので, だいたい 10n/2-10(n-1)/2 個あることになります.
最後に, n桁の数のうち, 「2種類の数字だけから構成された数」について考えます. まず, 「2種類の数字」を 0〜9 までの10個の数字から選ぶやりかたは, 10×9/2=45 通りあります. 次に, この選んだ数字のうちを各 n 桁に並べていくやり方は, 2n 通りあります. なので, だいたい 45×2n
個ある訳ですが, ここから 7777777 のように1種類の数字だけから構成された数や, 0200222 のように 0 から始まる数は省かねばなりませんから, そのへんをきちんと計算すると, 40.5×(2n-2)=81×(2n-1-1) 個あることがわかります.
さて, 今, 一様ランダムにn桁の整数を選びだすことを考えてみます. すると,
- それが平方数である確率はだいたい$\frac{10^{n/2}-10^{(n-1)/2}}{10^n-10^{n-1}}=\frac{10-\sqrt{10}}{9\cdot 10^{n/2}}$
- 「2種類の数字だけから構成された数」である確率は$\frac{81\cdot(2^{n-1}-1)}{10^n-10^{n-1}}=\frac{45\cdot (2^n-2)}{10^n}$
となります.
ここで, あるn桁の数が平方数であるか否かと, 「2種類の数字だけから構成された数」であるか否かとが独立であると仮定します. (もちろん, これはあくまで“珍しさ”を見積もることを目的とした, ほぼありえない仮定です.) そうすると, あるn桁の数が「2種類の数字だけから構成された平方数」である確率は, 積をとって
$\frac{10-\sqrt{10}}{9\cdot 10^{n/2}}\cdot\frac{45\cdot (2^n-2)}{10^n}=\frac{5(10-\sqrt{10})\cdot (2^n-2)}{10^{3n/2}}$
となります.
この値を小さいnに関して計算してみると次のようになります.
n (桁数) | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|
確率 | 6.8×10-2 | 6.5×10-3 | 4.8×10-4 | 3.2×10-5 | 2.1×10-6 | 1.4×10-7 | 8.7×10-9 | 5.5×10-10 | 3.5×10-11 |
確率がどんどん小さくなっていくことがわかります.
冒頭で816192=6661661161という式を紹介しましたが, これは10桁の値ですので, 表のn=10のところを見ると, なんと確率3.5×10-11! よって6661661161はすごく“珍しい”数であることがわかります.
しかし冷静に考えてみると, 珍しいといっても, 10桁の数というのはいっぱいあるので, その中にはそういう数も1つくらいあるのでは? という気もしてきます. その意味では, 今考えるべきはn桁の数のうち「2種類の数字だけから構成された平方数」であるものの期待値でしょう. 期待値は, 上で求めた計算式に, n桁の数の個数10n-10n-1をかけて
$\frac{45(10-\sqrt{10})\cdot (2^n-2)}{10^{n/2+1}}$
となります. こちらも計算してみると次のような表ができます.
n (桁数) | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|
期待値 | 6.2 | 5.8 | 4.3 | 2.9 | 1.9 | 1.2 | 0.78 | 0.50 | 0.31 | 0.20 |
n=10の期待値は0.31. これを見ると, まあ珍しいというほどでもないかな…という感じもします.
(※なお, 話がややこしくなるのを防ぐため, ここまでの議論では最初にあった「0で終わる数は除く」という条件を無視しました. 実際には102m,4×102m, 9×102mのような「2種類の数字だけから構成された平方数」というのもあるのですが, その辺はおいておきます.)
ここで, 「2種類の数字だけから構成された平方数 (0で終わる数除く)」の実際の個数も上の表に加えてみましょう. するとこうなります.
n (桁数) | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|
実際の個数 | 6 | 6 | 2 | 5 | 0 | 1 | 0 | 0 | 1 | 0 |
期待値 | 6.2 | 5.8 | 4.3 | 2.9 | 1.9 | 1.2 | 0.78 | 0.50 | 0.31 | 0.20 |
こうしてみると, 5桁だけやたらと多かったりしますが, 大体期待値に近い値をとっていることがわかります.
ところで, A018884 - OEISによれば, 1041以下ではこのような平方数はこれ以上ないことが確認されており, さらにThe sequence is probably finite.
つまり, 「おそらくこのような平方数は有限個しかないであろう」と推測されています. このような推測は, さきほど計算した期待値からも可能です. つまり, 先程の期待値の無限和
$\sum_{n=2}^\infty \frac{45(10-\sqrt{10})\cdot (2^n-2)}{10^{n/2+1}}$
を考えるのです. これは等比数列の和の公式を用いれば簡単に計算することができ,
$\frac{45}{5-\sqrt{10}}\fallingdotseq 24.5$
に収束します. つまり, 自然数全体のうちこのような数は24.5個くらいしかないだろうと期待されるということです. なるほど確かに, The sequence is probably finite.
という気がしてきますね. 実際にはこのような数は21個見つかっているので, 期待値としてはまあいい線をいっているのではないでしょうか.
話が散らかってきたため強引にまとめますが, 個人的に言いたかったのは2種類の数字だけから構成された平方数 (0で終わる数除く) は「(少なくとも期待値的には) 高々有限個っぽいという点で, “珍しい”といえるのではないか」というようなことです.
本当はこの後, このような考え方を元に他の数の“珍しさ”について考えていくつもりだったのですが, 疲れたので一旦おしまい.