・円周率の近似分数                     GAI 氏

 円周率の近似分数として、22/7(≒3.1428・・・)、355/113(≒3.141592035・・・) などがよく知
られている。22/7 なら小数第2位、355/113なら小数第6位まで真の値と一致する。
(→参考:「円周率を近似する分数」)

 そこで逆に、円周率と小数第n位までが一致できるような分数π(n)で分母が最小なものを
求めたい。

例 小数第1位まで一致:π(1)=19/6(3.166・・・)

  小数第2位まで一致:π(2)=22/7

  小数第3位まで一致:π(3)=245/78(3.14102・・・)

    ・・・・・・・・・・・・・・・

 そこで、これをπ(20)まで求めてほしい。


 らすかるさんからのコメントです。(平成30年6月19日付け)

 これで正しいでしょうか。

π(1) = 19/6 = 3.1…
π(2) = 22/7 = 3.14…
π(3) = 245/78 = 3.141…
π(4) = 333/106 = 3.1415…
π(5) = 355/113 = 3.14159…
π(6) = 355/113 = 3.141592…
π(7) = 86953/27678 = 3.1415926…
π(8) = 102928/32763 = 3.14159265…
π(9) = 103993/33102 = 3.141592653…
π(10) = 521030/165849 = 3.1415926535…
π(11) = 833719/265381 = 3.14159265358…
π(12) = 4272943/1360120 = 3.141592653589…
π(13) = 20530996/6535219 = 3.1415926535897…
π(14) = 74724506/23785549 = 3.14159265358979…
π(15) = 165707065/52746197 = 3.141592653589793…
π(16) = 411557987/131002976 = 3.1415926535897932…
π(17) = 1068966896/340262731 = 3.14159265358979323…
π(18) = 6167950454/1963319607 = 3.141592653589793238…
π(19) = 14885392687/4738167652 = 3.1415926535897932384…
π(20) = 21053343141/6701487259 = 3.14159265358979323846…
π(21) = 21053343141/6701487259 = 3.141592653589793238462…
π(22) = 1488619412557/473842275782 = 3.1415926535897932384626…
π(23) = 1762312873390/560961610149 = 3.14159265358979323846264…
π(24) = 3587785776203/1142027682075 = 3.141592653589793238462643…
π(25) = 8958937768937/2851718461558 = 3.1415926535897932384626433…
π(26) = 77042654144230/24523438471947 = 3.14159265358979323846264338…
π(27) = 130796280757852/41633749241295 = 3.141592653589793238462643383…
π(28) = 428224593349304/136308121570117 = 3.1415926535897932384626433832…
π(29) = 428224593349304/136308121570117 = 3.14159265358979323846264338327…
π(30) = 5706674932067741/1816491048114374 = 3.141592653589793238462643383279…
(以下掲示板上の見た目を考え分数のみ)
π(31) = 11841574457484786/3769290217798865
π(32) = 30246273033735921/9627687726852338
π(33) = 66627445592888887/21208174623389167
π(34) = 430010946591069243/136876735467187340
π(35) = 1786671231957165859/568715116492138527
π(36) = 2646693125139304345/842468587426513207
π(37) = 2646693125139304345/842468587426513207
π(38) = 222752233458292634223/70904238079294296728
π(39) = 251865857834824982018/80171392540985942005
π(40) = 265099323460521503743/84383735478118508040
π(41) = 1057750600716946710627/336692473325047518953
π(42) = 6343856911176540959417/2019312371362858600511
π(43) = 13745464423070028629461/4375317216050764719975
π(44) = 37535589513263342053361/11947949225808341100193
π(45) = 162037420598150024925394/51578112908112152590881
π(46) = 436681609736090076010871/139000073493649328482341
π(47) = 1983835038569037013075600/631474305334326148720631
π(48) = 6151078125818524406205555/1957948978136898939852967
π(49) = 17579871157983393066594923/5595846787423398162594219
π(50) = 26151465932107044561886949/8324270144388272579650158


 GAI さんからのコメントです。(平成30年6月19日付け)

 こちらの能力と計算の準備ではここまでしか合わせることができず、ここまでピタリ同じな
ので、これ以降も正解が続いているものと考えられます。それにしても50までの計算がされ
ていることに驚きです。


 らすかるさんからのコメントです。(平成30年6月19日付け)

 π(21)止まりということは、「単純に分母を1ずつ足していって近似分数を探索」のような方
法をとられたのではないかと思いますが、「隣り合う分数」の考え方を使うと、非常に効率よ
く近似分数が求められます。

(要点)
・a、b、c、dが自然数で、|ad-bc|=1 のとき、a/bとc/dは「隣り合う分数」
・a/bとc/dが「隣り合う分数」のとき、その間に、分母がmax(b,d)以下の分数は存在しない
・a/bとc/dが「隣り合う分数」で、a/b<c/dのとき、中間分数(a+c)/(b+d)を作ると、
 a/b<(a+c)/(b+d)<c/dであり、a/bと(a+c)/(b+d)、(a+c)/(b+d)とc/dはそれぞれ「隣り合う
 分数」になる

 従って、(a+c)/(b+d)は、a/bとc/dの間にある分母が最小の分数でもある

 3/1<π<4/1 で、(3+4)/(1+1)=7/2=3.5>3.1… なので、 3/1<π<7/2

 (3+7)/(1+2)=10/3=3.3…>3.1… なので、 3/1<π<10/3

 (3+10)/(1+3)=13/4=3.2…>3.1… なので、 3/1<π<13/4

 (3+13)/(1+4)=16/5=3.2>3.1… なので、 3/1<π<16/5

 (3+16)/(1+5)=19/6=3.1… なので、π(1)=19/6=3.1… を発見

 そして、19/6=3.16…>3.14… なので、 3/1<π<19/6

 (3+19)/(1+6)=22/7=3.14… なので、π(2)=22/7=3.14…を発見

 そして、22/7=3.142…>3.141… なので、 3/1<π<22/7

 (3+22)/(1+7)=25/8=3.125<3.141… なので、 25/8<π<22/7

 (25+22)/(8+7)=47/15=3.133…<3.141… なので、 47/15<π<22/7

 (この間同じ作業なので省略)

 201/64<π<22/7 で、(201+22)/(64+7)=223/71=3.140…<3.141… なので、

 223/71<π<22/7

 (223+22)/(71+7)=245/78=3.141… なので、π(3)=245/78=3.141…を発見

 そして、 245/78=3.1410…<3.1415… なので、 245/78<π<22/7

 (245+22)/(78+7)=267/85=3.1411…<3.1415… なので、 267/85<π<22/7

 (267+22)/(85+7)=289/92=3.1413…<3.1415… なので、 289/92<π<22/7

 (289+22)/(92+7)=311/99=3.1414…<3.1415… なので、 311/99<π<22/7

 (311+22)/(99+7)=333/106=3.1415… なので、π(4)=333/106=3.1415… を発見

 そして、333/106=3.14150…<3.14159… なので、 333/106<π<22/7

 (333+22)/(106+7)=355/113=3.14159… なので、π(5)=355/113=3.14159…を発見

 そして、355/113=3.141592…なので、π(6)=355/113=3.141592… を発見

 そして、355/113=3.1415929… なので、 333/106<π<355/113
(以下略)

# 上記の考え方を(小数を扱わないようにマイナーチェンジしましたが)そのままプログラム
 にして、π(50)まで求めました。この方法なら、π(50)まで一瞬で求まりますので、π(50)ど
 ころかπ(1000)やπ(10000)でも簡単に求まりそうですね。
 (求めても意味がないのでπ(50)でやめました)



                         投稿一覧に戻る