素数の個数の近似式
ちょっと思いつきで書いてみる。数学の世界には、素数という重要な数の概念がある。素数とは、自然数の中で、約数が1と自分自身しかない数のことです。素数は無限に存在することが、数々の方法で証明されていたりもします。さて、地球人は10進数を使うことが多いので、10のべき乗のうちにどれくらい素数が存在するのか?という疑問があったりする。数学では、π関数といって、π(m)という関数は、1からmまでの素数の個数を返す関数であるが、正確な値を出力する数式は存在していなくて、近似式は存在している。素数は、プログラミングで数を数えることは出来るので、その近似式はどんなもんなのかということを調べてみようと思った次第である。 π(m)~ m ln(m) こんな式で表せる。lnは底がeの対数、つまり自然対数です。 n π(10^n) 10^n/ln(10^n) ratio 0 0 - - 1 4 4.3429448190 1.085736 2 25 21.7147240952 0.868589 3 168 144.7648273011 0.861695 4 1229 1085.7362047581 0.883431 5 9592 8685.8896380650 0.905535 6 78498 72382.4136505420 0.922092 7 664579 620420.6884332169 0.933554 8 5761455 5428681.0237906478 0.942241 9 50847534 48254942.4336946475 0.949012 10 455052511 434294481.9032518277 0.954383 11 4118054813 3948131653.6659257059 0.958737 12 37607912018 36191206825.2709856376 0.962330 13 346065536839 334072678387.1167905009 0.965345 14 3204941750802 3102103442166.0844832223 0.967913 15 29844570422669 28952965460216.7885100753 0.970125 16 279238341033925 271434051189532.3922819556 0.972052 17 2623557157654233 2554673422960304.8685360525 0.973744 18 24739954287740860 24127471216847323.7583960511 0.975243 19 234057667276344607 228576043106974646.1321731152 0.976580 20 2220819602560918840 2171472409516259138.2556445946 0.977780 21 21127269486018731928 20680689614440563221.4823294722 0.978862 22 201467286689315906290 197406582683296285295.9676904166 0.979844 23 1925320391606803968923 1888236877840225337613.6039952896 0.980739 24 18435599767349200867866 18095603412635492818797.0382881919 0.981558 25 176846309399143769411680 173717792761300731060451.5675666420 0.982309 26 1699246750872437141327603 1670363391935583952504341.9958330965 0.983002 27 16352460426841680446427399 16084980811231549172264034.0339483364 0.983643 28 157589269275973410412739598 155105172108304224161117471.0416446722 0.984237 29 1520698109714272166094258063 1497567178976730440176306616.9538106286 0.984789 10^29まで素数の個数が数え上げられているんですね。年々、この桁数は増えていくことになるでしょう。ratioは、π(m)を1としたときに、近似値はどれくらいかを示している。出だしは1以上でしたが、それ以降は下から1に近づいていることが解ればよいです。ここでよく絶対的か相対的かという言葉がよく使われたりする。π(m)と近似値は、mが大きくなるにつれて絶対的な差は大きくなるが、相対的な差は小さくなる。こんな感じで使われる。ではではa img { background-color: lightgray;}table.renbun td { border: 0px; padding: 2px 2px 2px 2px; vertical-align: middle; white-space: nowrap; }table.renbun td.ul { border-style: solid; border-width: 0px 0px 1px 0px; }table.renbun td.ol { border-style: solid; border-width: 1px 0px 0px 0px; }table.ans td:nth-child(1) { text-align: center; }table.ans td div { width: 265px; overflow-x: scroll; }table.ans td div span { white-space: nowrap; }table.test td {white-space: nowrap;padding: 0 5px;text-align: right;} .u {border-bottom-style: solid;border-bottom-width: 1px;text-align: center;}table#list td { padding: 0 2px; font-family: monospace; }.no { display:inline-block; text-align:center; vertical-align:middle;}.ni { display:inline-block; text-align:center; vertical-align:middle; line-height:100%;}.ns { font-family:serif; font-size:250%; line-height:100%;}.io { display:inline-block; white-space:nowrap;}.io sub { vertical-align:bottom; white-space:nowrap;}.io sup { vertical-align:top; white-space:nowrap;}.ii { display:inline-block; vertical-align:middle;}.is { vertical-align:middle; font-family:arial;// font-family: sans-serif; font-size:300%; line-height:70%; font-weight: 5;// margin: 0 -15px 0 -10px;}.ii2{ display:inline-block; line-height:100%; vertical-align:middle;}.is2{ line-height:155%;// line-height:109%; font-family:sans-serif;}.mo { display:inline-block; vertical-align:middle;}.mi { display:inline-block; white-space:nowrap; vertical-align:middle; line-height:100%;}html:not([lang]) .mp { display:inline-block; line-height:100%; font-size:120%; font-family:sans-serif; margin: 0; padding: 0;}.mp{ display:inline-block; line-height:100%; font-size:120%; font-family:serif; margin: 0; padding: 0;}.md{ display:inline-block; line-height:120%; text-align:right; margin: 0 5px;}.lo { display:inline-block; text-align:center; vertical-align:middle;}.li { display:inline-block; text-align:center; vertical-align:middle; line-height:100%; margin: 0 5px 0 0;}.ls { font-family:serif; font-size:120%; line-height:100%;}.fb {border-style:solid;border-width:1px 0 0 0;margin:1px 0;}.fo {display:inline-block;text-align:center;vertical-align:middle;white-space: nowrap;}.fo span {margin: 0 3px;}.fo span span {margin: 0 0;}.article table {white-space: nowrap;}.ro{display:inline-block;white-space:nowrap;line-height:100%;position:static;}.rt{font-family: 'Meiryo', 'YuGothic', 'Gothic', sans-serif;}.ri{display:inherit;border-style:solid;border-width:1px 0 0 0;padding:0 1px 0 1px;margin:1px 0 0 0;position:relative; left:-1.5px;}article table {margin-bottom: 0 !important;}article table td {white-space: nowrap;text-align: center;}