![]() |
||
|
Golden Member
![]() ![]() ![]() ![]() 加入日期: Nov 2003 您的住址: 銀河-太陽系-地球-亞洲-中華民國
文章: 2,579
|
引用:
真的要跑很久,以下是小弟的程式碼 目前最快的個人電腦,估計可能要花30分鐘以上 而且只算出小數位十位數左右 如果覺得想狂操cpu可以把long 改成Single 再把2147483646後面再補上兩個0 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
__________________
☆★☆★☆★☆★☆★☆★☆★☆★☆★ 此文章於 2007-07-08 09:38 AM 被 =風= 編輯. |
||||||||
|
|
|
Major Member
![]() 加入日期: Jun 2003 您的住址: where the light is
文章: 271
|
|
|
|
|
Golden Member
![]() ![]() ![]() ![]() 加入日期: Nov 2003 您的住址: 銀河-太陽系-地球-亞洲-中華民國
文章: 2,579
|
引用:
原來到500萬項後就出現錯誤了 難怪小弟的程式 怎麼跑都是只對前面6位數 ![]() 小弟早上都在作白工 ![]()
__________________
☆★☆★☆★☆★☆★☆★☆★☆★☆★ 此文章於 2007-07-08 10:18 AM 被 =風= 編輯. |
|
|
|
|
Major Member
![]() 加入日期: Feb 2004 您的住址: Terran Empire
文章: 283
|
引用:
不是Gregory-Leibniz series到五百萬項後就會出現錯誤。 是Gregory-Leibniz series收斂很慢,計算五百萬項也只收斂到小數點下5位。 |
|
|
|
|
Golden Member
![]() ![]() ![]() ![]() 加入日期: Nov 2003 您的住址: 銀河-太陽系-地球-亞洲-中華民國
文章: 2,579
|
引用:
了解.........
__________________
☆★☆★☆★☆★☆★☆★☆★☆★☆★ |
|
|
|
|
*停權中*
加入日期: May 2001 您的住址: TW
文章: 321
|
引用:
這個題目簡單 我以前做過類似題目 我是用陣列 A(0)~A(99) 每個陣列元素存1位數 超過10就進位到上一個陣列位置 這種寫法複雜的地方就在把算出結果放到每個陣列元素 我敢保證,沒有第二種解法了 |
|
|
|
|
Golden Member
![]() ![]() ![]() ![]() 加入日期: Nov 2003 您的住址: 銀河-太陽系-地球-亞洲-中華民國
文章: 2,579
|
小弟也知道要用陣列
只是不知道要如何寫 不過依小弟的程式來說 要計算到二十位數 可能都要好幾天才運算的完 所以此程式 看看就好 因為效能太差了
__________________
☆★☆★☆★☆★☆★☆★☆★☆★☆★ |
|
|
|
*停權中*
加入日期: May 2001 您的住址: TW
文章: 321
|
引用:
不會吧 幾千位一下下就算完了 不瞭解為什麼要很久 |
|
|
|
|
Golden Member
![]() ![]() ![]() ![]() 加入日期: Nov 2003 您的住址: 銀河-太陽系-地球-亞洲-中華民國
文章: 2,579
|
引用:
那要看你怎麼去寫這個程式 兄台會寫嗎? 會請貼一下程式碼 ![]()
__________________
☆★☆★☆★☆★☆★☆★☆★☆★☆★ |
|
|
|