![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 七嘴八舌異言堂
(https://www.pcdvd.com.tw/forumdisplay.php?f=12)
- - vb6高手求教?圓周率的程式如何寫呢?
(https://www.pcdvd.com.tw/showthread.php?t=730530)
|
|---|
引用:
真的要跑很久,以下是小弟的程式碼 目前最快的個人電腦,估計可能要花30分鐘以上 而且只算出小數位十位數左右 :D 如果覺得想狂操cpu可以把long 改成Single 再把2147483646後面再補上兩個0 :D :D :D Private Sub Form_Load() Dim pi As Variant Dim i As Long 'Single pi = 0 For i = 0 To 2147483646 pi = pi + CDec(1 / (2 * i + 1) * (-1) ^ i) Next i pi = 4 * CDec(pi) Debug.Print pi End Sub |
|
|
引用:
原來到500萬項後就出現錯誤了 難怪小弟的程式 怎麼跑都是只對前面6位數 :jolin: 小弟早上都在作白工 :mad: |
引用:
不是Gregory-Leibniz series到五百萬項後就會出現錯誤。 是Gregory-Leibniz series收斂很慢,計算五百萬項也只收斂到小數點下5位。 |
引用:
了解......... |
引用:
這個題目簡單 我以前做過類似題目 我是用陣列 A(0)~A(99) 每個陣列元素存1位數 超過10就進位到上一個陣列位置 這種寫法複雜的地方就在把算出結果放到每個陣列元素 我敢保證,沒有第二種解法了 |
小弟也知道要用陣列
只是不知道要如何寫 不過依小弟的程式來說 要計算到二十位數 可能都要好幾天才運算的完 所以此程式 看看就好 因為效能太差了 |
引用:
不會吧 幾千位一下下就算完了 不瞭解為什麼要很久 |
引用:
那要看你怎麼去寫這個程式 兄台會寫嗎? 會請貼一下程式碼 :) |
| 所有的時間均為GMT +8。 現在的時間是09:44 PM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2026。