PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
Re: [分享] 計算π到小數點下一億位
作者:
if4
(if)
2025-03-15 03:03:41
計算π到小數點下一億位之我見(1)
原po很厲害,寫出的程式計算π到小數點下一億位,所花時間只需6分鐘,我思索這
個問題都不止6天了XD所以我嘗試將這個過程寫下來,看是不是我有什麼地方漏了,
請大家一起來檢視。
對程式設計師而言,要敢拍胸脯保證這π一億位中的第6千萬位是正確的,抱歉,我
無法做這保證,所以我還在研究中XD原po當然敢,因為程式是他寫的XD
對程式設計師來說,要保證所求是正確的,第一、您所用演算法是正確的或可接受的
,第二、沒有重大BUG。第二點大多數人很難在一開始就做這樣的保證,君不見
Windows到現在還在研發中,當然它有新的功能被加入,但也無法否認更新一直在出
版,這部份確實一直有新的BUG被報告。現在對我而言我比較在意第1點。因為要保證
無錯誤,即使是微軟也無法保證,退而求其次,當然要保證所用演算法是正確或可接
受的。這部分定義問題就很重要了。我怎麼看這問題,回到問題,π是什麼?是圓周
率...
看π的定義:圓周率為圓周長與直徑的比率,它是個常數,是個實數,是個無窮位數
的一個常實數。那我要怎麼去求這個數,尤其是用電腦求出前面一憶位數。
我們先看看古代怎麼求解,一開始是 3. 然後3.1 3.14然後到近代,小數點下十億...
百億...為什麼古人這麼笨?不要怪他們,這個問題一開始根本是一個測量問題,怎麼
求?就真的拿尺拿線去量測,所以精度很難要求,差別是用的工具不同。但是現代人
聰明了...從分析學的角度看事情...
人變聰明了嘛,人總是要進步...我們從小學過的公式多不多?跟圓周率π有關的呢?
我記不了這麼多,腦子不好使,那就讓我孤狗:含有圓周率π的數學公式有那些?
我找到維基的百科全書「含圓周率的公式列表」,先從古典幾何來看:
( https://zh.wikipedia.org/zh-tw/%E5%90%AB%E5%9C%86%E5%91%A8%E7%8E%87%E7%9A
%84%E5%85%AC%E5%BC%8F%E5%88%97%E8%A1%A8 )
( 短網址: https://tinyurl.com/mt83dbwy )
C=2πr > π=(1/2)*(C/r) C是周長 問題點:都是測量值 再看下去...
A=πr平方 A是圓面積
V=(3/4)*πr三次方 V是球體積
這些都有測量上的問題,所以它們無法精密精準...
...下次再寫吧...先去巡邏...Orz
PS:
下次要看這個問題,可能要請大家先去研讀維基古典幾何的下一個部份:分析
因為我發現在BBS上輸入數學式子很苦手...有礙大家的眼...我就不掙扎了XD Orz
作者:
Lipraxde
(Lipraxde)
2025-03-15 09:31:00
先睡覺,睡飽再從級數開始學怎麼算 pi 好嗎XD?
作者:
lc85301
(pomelocandy)
2025-03-15 16:51:00
這部分我推薦看這個影片,算是 pi 脫離幾何學的介紹
https://www.youtube.com/watch?v=gMlf1ELvRzc
作者:
if4
(if)
2025-03-15 19:37:00
謝謝<3 請問有沒有中文版的?我英文不太好 OreOrz我前面是說我花了不止6天去研究這問題 那還客氣了 我從小就在想這問題 我看過一本書 整本書就在寫圓周率 3.1415926535小時候在猜測這到底怎麼求出來 那時我還不會寫程式 稍稍長大瞭解更多 我連公式都要自己去驗算 覺得電腦好厲害這是我研究程式設計最大的動力啊現代有電腦真好 然後有量子電腦 我不知道我可不可以活著用它
作者:
lc85301
(pomelocandy)
2025-03-16 16:06:00
它的字幕有中文的呀
作者:
if4
(if)
2025-03-16 19:38:00
好 <3 我再看看,謝謝您
作者:
suhorng
( )
2025-03-18 14:03:00
右上角語言點中文,英文網頁連結比較好貼wikipedia.org/wiki/Bailey–Borwein–Plouffe_formula
https://en.wikipedia.org/wiki/Bellard%27s_formula
你看分母那個 16^k 和 2^{10n}, 適合 16 進位制的計算然後可以用不同公式計算再對答案
作者:
if4
(if)
2025-03-19 23:43:00
其實我很怕在BBS上使用數學式子...可能需要在其他媒體使用吧?您說的是好方法 我想的是π在其他電腦上有執行過 可不可以引用別人的數據?但要怎麼引用是個大問題 Orz然後比較看一不一樣我顧慮的是:公式不一樣,收斂速度不會一樣,精確度無法比較
作者:
lc85301
(pomelocandy)
2025-03-20 11:15:00
為什麼要在 BBS 上寫數學式子…
作者:
if4
(if)
2025-03-20 21:52:00
我知道的不多
作者:
lc85301
(pomelocandy)
2025-03-20 23:14:00
不不不,要寫數學式子有很多好工具,BBS 肯定不是其中一個
作者:
suhorng
( )
2025-04-06 10:44:00
@if4: 如 arctan 之類公式算好收斂速度後就能比精度的吧至於 BBP 之類的公式, 特點就在於符合十六進位, 不僅是收斂快, 更在於計算某個位數時不用計算前面的位數,很適合拿來檢驗答案
繼續閱讀
[問題] visual studio舊專案引用新傳案編譯錯誤
sohumi
Re: 有關超長整數... ?
lc85301
Re: 有關超長整數... ?
saxontai
Re: 有關超長整數... ?
if4
[討論] 網路新聞分享
freexq
[問題] ofstream 總是寫成binary file
evilkiss
[問題] 有完整程式碼的資料結構用書推薦
amamoimi
Re: [問題] 想問有關wxWidgets的問題...
closer76
Re: [問題] 想問有關wxWidgets的問題...
easterday
Re: [問題] 想問有關wxWidgets的問題...
easterday
Links
booklink
Contact Us: admin [ a t ] ucptt.com