導航:首頁 > 源碼編譯 > 圓周率演算法原理

圓周率演算法原理

發布時間:2022-08-12 20:46:27

① 現代科學計算機計算圓周率的原理及公式是什麼

首先您要搞清楚:什麼叫做圓周率?什麼叫做正6x2ⁿ邊率?
圓周率是:「圓周長與直徑的比」它們的比是6+2√3:3。比值是3.1547005383...
而所謂的圓周率π=3.1415926.....是根據正6x2ⁿ邊形的周長與過中心點的對角線的比值,應叫正6x2ⁿ邊率。
正6x2ⁿ邊率不等於圓周率。

② 圓周率是怎樣計算出來的

古希臘大數學家阿基米德開創了人類歷史上通過理論計算圓周率近似值的先河。

阿基米德從單位圓出發,先用內接正六邊形求出圓周率的下界為3,再用外接正六邊形並藉助勾股定理求出圓周率的上界小於4。

接著,他對內接正六邊形和外接正六邊形的邊數分別加倍,將它們分別變成內接正12邊形和外接正12邊形,再藉助勾股定理改進圓周率的下界和上界。他逐步對內接正多邊形和外接正多邊形的邊數加倍,直到內接正96邊形和外接正96邊形為止。

最後,他求出圓周率的下界和上界分別為223/71 和22/7, 並取它們的平均值3.141851 為圓周率的近似值。


(2)圓周率演算法原理擴展閱讀:

圓周率用希臘字母 π(讀作pài)表示,是一個常數(約等於3.141592654),是代表圓周長和直徑的比值。它是一個無理數,即無限不循環小數。在日常生活中,通常都用3.14代表圓周率去進行近似計算。而用十位小數3.141592654便足以應付一般計算。即使是工程師或物理學家要進行較精密的計算,充其量也只需取值至小數點後幾百個位。

③ 圓周率是如何計算出來的

古今中外,許多人致力於圓周率的研究與計算。為了計算出圓周率的越來越好的近似值,一代代的數學家為這個神秘的數貢獻了無數的時間與心血。十九世紀前,圓周率的計算進展相當緩慢,十九世紀後,計算圓周率的世界紀錄頻頻創新。整個十九世紀,可以說是圓周率的手工計算量最大的世紀。進入二十世紀,隨著計算機的發明,圓周率的計算有了突飛猛進。藉助於超級計算機,人們已經得到了圓周率的2061億位精度。歷史上最馬拉松式的計算,其一是德國的Ludolph Van Ceulen,他幾乎耗盡了一生的時間,計算到圓的內接正262邊形,於1609年得到了圓周率的35位精度值,以至於圓周率在德國被稱為Ludolph數;其二是英國的William Shanks,他耗費了15年的光陰,在1874年算出了圓周率的小數點後707位。可惜,後人發現,他從第528位開始就算錯了。把圓周率的數值算得這么精確,實際意義並不大。現代科技領域使用的圓周率值,有十幾位已經足夠了。如果用Ludolph Van Ceulen算出的35位精度的圓周率值,來計算一個能把太陽系包起來的一個圓的周長,誤差還不到質子直徑的百萬分之一。以前的人計算圓周率,是要探究圓周率是否循環小數。自從1761年Lambert證明了圓周率是無理數,1882年Lindemann證明了圓周率是超越數後,圓周率的神秘面紗就被揭開了。現在的人計算圓周率, 多數是為了驗證計算機的計算能力,還有,就是為了興趣。

圓周率的計算方法

古人計算圓周率,一般是用割圓法。即用圓的內接或外切正多邊形來逼近圓的周長。Archimedes用正96邊形得到圓周率小數點後3位的精度;劉徽用正3072邊形得到5位精度;Ludolph Van Ceulen用正262邊形得到了35位精度。這種基於幾何的演算法計算量大,速度慢,吃力不討好。隨著數學的發展,數學家們在進行數學研究時有意無意地發現了許多計算圓周率的公式。下面挑選一些經典的常用公式加以介紹。除了這些經典公式外,還有很多其他公式和由這些經典公式衍生出來的公式,就不一一列舉了。

1、 Machin公式

這個公式由英國天文學教授John Machin於1706年發現。他利用這個公式計算到了100位的圓周率。Machin公式每計算一項可以得到1.4位的十進制精度。因為它的計算過程中被乘數和被除數都不大於長整數,所以可以很容易地在計算機上編程實現。

Machin.c 源程序

還有很多類似於Machin公式的反正切公式。在所有這些公式中,Machin公式似乎是最快的了。雖然如此,如果要計算更多的位數,比如幾千萬位,Machin公式就力不從心了。下面介紹的演算法,在PC機上計算大約一天時間,就可以得到圓周率的過億位的精度。這些演算法用程序實現起來比較復雜。因為計算過程中涉及兩個大數的乘除運算,要用FFT(Fast Fourier Transform)演算法。FFT可以將兩個大數的乘除運算時間由O(n2)縮短為O(nlog(n))。

2、 Ramanujan公式

1914年,印度數學家Srinivasa Ramanujan在他的論文里發表了一系列共14條圓周率的計算公式,這是其中之一。這個公式每計算一項可以得到8位的十進制精度。1985年Gosper用這個公式計算到了圓周率的17,500,000位。

1989年,David & Gregory Chudnovsky兄弟將Ramanujan公式改良:

這個公式被稱為Chudnovsky公式,每計算一項可以得到15位的十進制精度。1994年Chudnovsky兄弟利用這個公式計算到了4,044,000,000位。Chudnovsky公式的另一個更方便於計算機編程的形式是:

3、AGM(Arithmetic-Geometric Mean)演算法

Gauss-Legendre公式:

這個公式每迭代一次將得到雙倍的十進制精度,比如要計算100萬位,迭代20次就夠了。1999年9月Takahashi和Kanada用這個演算法計算到了圓周率的206,158,430,000位,創出新的世界紀錄。

4、Borwein四次迭代式:

這個公式由Jonathan Borwein和Peter Borwein於1985年發表,它四次收斂於圓周率。

5、 Bailey-Borwein-Plouffe演算法

這個公式簡稱BBP公式,由David Bailey, Peter Borwein和Simon Plouffe於1995年共同發表。它打破了傳統的圓周率的演算法,可以計算圓周率的任意第n位,而不用計算前面的n-1位。這為圓周率的分布式計算提供了可行性。1997年,Fabrice Bellard找到了一個比BBP快40%的公式:

圓周率的最新計算紀錄
1、新世界紀錄

圓周率的最新計算紀錄由兩位日本人Daisuke Takahashi和Yasumasa Kanada所創造。他們在日本東京大學的IT中心,以Gauss-Legendre演算法編寫程序,利用一台每秒可執行一萬億次浮點運算的超級計算機,從日本時間1999年9月18日19:00:52起,計算了37小時21分04秒,得到了圓周率的206,158,430,208(3*236)位十進制精度,之後和他們於1999年6月27日以Borwein四次迭代式計算了46小時得到的結果相比,發現最後45位小數有差異,因此他們取小數點後206,158,430,000位的?值為本次計算結果。這一結果打破了他們於1999年4月創造的68,719,470,000位的世界紀錄。

2、最後20位

圓周率小數點後206,158,430,000位的最後20位為:

22144 96687 55157 30964

3、 p小數點後2000億位中各數字出現的次數:

0 : 20000030841 1 : 19999914711

2 : 20000136978 3 : 20000069393

4 : 19999921691 5 : 19999917053

6 : 19999881515 7 : 19999967594

8 : 20000291044 9 : 19999869180

PC機上的計算
1、PiFast

目前PC機上流行的最快的圓周率計算程序是PiFast。它除了計算圓周率,還可以計算e和sqrt(2)。PiFast可以利用磁碟緩存,突破物理內存的限制進行超高精度的計算,最高計算位數可達240億位,並提供基於Fabrice Bellard公式的驗算功能。

圓周率小數點後1000位

1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 8214808651 3282306647 0938446095 5058223172 5359408128 4811174502 870193 8521105559 6446229489 5493038196 4428810975 6659334461 2847564823 3786783165 2712019091 4564856692 3460348610 4543266482 1339360726 0249141273 7245870066 0631558817 4881520920 9628292540 9171536436 7892590360 0113305305 4882046652 1384146951 9415116094 3305727036 5759591953 0921861173 8193261179 3105118548 0744623799 6274956735 1885752724 8912279381 8301194912 9833673362 4406566430 8602139494 6395224737 1907021798 6094370277 0539217176 2931767523 8467481846 7669405132 0005681271 4526356082 7785771342 7577896091 7363717872 1468440901 2249534301 4654958537 1050792279 6892589235 4201995611 2129021960 8640344181 5981362977 4771309960 518707 4999999837 2978049951 0597317328 1609631859 5024459455 3469083026 4252230825 3344685035 2619311881 7101000313 7838752886 5875332083 8142061717 7669147303 5982534904 2875546873 1159562863 8823537875 9375195778 1857780532 1712268066 1300192787 6611195909 2164201989

④ 圓周率是怎麼算出的啊

原理是:圓周率=圓周長÷圓直徑
但是圓周長不能直接得到啊
於是就用原的內接正n邊形的周長來近似圓的周長
當n一直增大時,他們就無限接近。
用這個原理可以衍生出許多關於圓周率的演算法
1、馬青公式 π=16arctan1/5-4arctan1/239
2、拉馬努金公式
等等

⑤ 圓周率的原理是什麼

我發現圓周率的密碼原理。一對六份內核心方向角度和外空間速度尺度半徑時間統一周期系統模型,是一對(010+101=111)的角度尺度速度時間統一系統模型。(11111*11111=123454321)是一對兩性內外和正中時間統一標准原理模型。(0.858408……+3+0.141592……4-1=3)證明了圓周率無盡余數,是一對正反各半方向的《1》是正中《3》減0.141592……和《3》加0.141592……的一對兩性和正中時間統一標准自然規律的原理系統模型。

⑥ 圓周率是怎麼算出來的

1.
【17世紀以前】早期的圓周率是通過幾何方法計算出來的,比較有代表性的有阿基米德的迭代夾逼方法、劉徽的割圓術、祖沖之對割圓術的發展、丟番圖逼近等。這一時期圓周率發展到小數點後30幾位。
2.
【17世紀末——19世紀中期】這一時期發展了圓周率的分析方法,圓周率通過無窮級數得以計算。代表人物是梅欽、弗格森和倫奇等。這一時期圓周率發展到小數點後800餘位。
3.
【19世紀中期至今】計算機時代的圓周率是在強大計算機的支撐下通過各種復雜精巧的數值計算演算法算出來的。比較有代表性的是布倫特-薩拉明演算法等等。依靠演算法與電子計算機強大的計算能力,目前圓周率已精確到小數點後五萬億位。
希望能夠幫到你:)by凍結的火

閱讀全文

與圓周率演算法原理相關的資料

熱點內容
UG編程如何多平面輪廓2D倒角 瀏覽:437
視頻壓縮漸變紋 瀏覽:851
什麼app能看財經新聞 瀏覽:40
數學奇跡神奇運演算法 瀏覽:360
大廠的程序員的水平如何 瀏覽:701
遺傳演算法入門經典書籍 瀏覽:879
源碼炮台腳本 瀏覽:621
在位編輯命令 瀏覽:348
曲式分析基礎教程pdf 瀏覽:15
php生成靜態html頁面 瀏覽:965
怎麼分割pdf 瀏覽:813
壓縮垃圾報警器 瀏覽:629
小公司一般都用什麼伺服器 瀏覽:968
java獲取時間gmt時間 瀏覽:821
為什麼csgo一直連接不到伺服器 瀏覽:504
安卓登ins需要什麼 瀏覽:837
機器人演算法的難點 瀏覽:227
全自動化編程 瀏覽:728
程序員高薪限制 瀏覽:693
壓縮圖片壓縮 瀏覽:76