PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
=風=
Golden Member
 
=風=的大頭照
 

加入日期: Nov 2003
您的住址: 銀河-太陽系-地球-亞洲-中華民國
文章: 2,579
引用:
作者kec
為什麼樓主要選Gregory-Leibniz series這個收斂很慢的級數來算圓周率?
要精確到小數點下100位要計算很多很多很多項,怕CPU沒事做嗎?

真的要跑很久,以下是小弟的程式碼
目前最快的個人電腦,估計可能要花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 被 =風= 編輯.
舊 2007-07-08, 09:35 AM #11
回應時引用此文章
=風=離線中  
kec
Major Member
 
kec的大頭照
 

加入日期: Feb 2004
您的住址: Terran Empire
文章: 283
引用:
作者=風=
因為只要這個公式
比較容易懂
其他的公式更難了
小數位一百位
對現在的cpu應該還不至於太困難的工作(小弟猜的

這個網頁,用 Gregory-Leibniz series計算1000項才精確至小數點下2位。

另外,Wikipedia上的例子,計算五百萬項Gregory-Leibniz series,小數點下第6位就出錯了。

你猜精確到小數點下100位要計算多少項?
 
舊 2007-07-08, 09:39 AM #12
回應時引用此文章
kec離線中  
capitalm
Major Member
 
capitalm的大頭照
 

加入日期: Jun 2003
您的住址: where the light is
文章: 271
http://home.istar.ca/~lyster/pi.html
quickpi還真快
而且精確位數可以高達70G
舊 2007-07-08, 10:11 AM #13
回應時引用此文章
capitalm離線中  
=風=
Golden Member
 
=風=的大頭照
 

加入日期: Nov 2003
您的住址: 銀河-太陽系-地球-亞洲-中華民國
文章: 2,579
引用:
作者kec
依這個網頁 (http://www.eveandersson.com/pi/gregory-leibniz),用 Gregory-Leibniz series計算1000項才精確至小數點下2位。

另外,Wikipedia (http://en.wikipedia.org/wiki/Leibni....80_calculation)上的例子,計算五百萬項Gregory-Leibniz series,小數點下第6位就出錯了。

你猜精確到小數點下100位要計算多少項?

原來到500萬項後就出現錯誤了
難怪小弟的程式
怎麼跑都是只對前面6位數
小弟早上都在作白工
__________________
☆★☆★☆★☆★☆★☆★☆★☆★☆★

此文章於 2007-07-08 10:18 AM 被 =風= 編輯.
舊 2007-07-08, 10:17 AM #14
回應時引用此文章
=風=離線中  
kec
Major Member
 
kec的大頭照
 

加入日期: Feb 2004
您的住址: Terran Empire
文章: 283
引用:
作者=風=
原來到500萬項後就出現錯誤了
難怪小弟的程式
怎麼跑都是只對前面6位數
小弟早上都在作白工

不是Gregory-Leibniz series到五百萬項後就會出現錯誤。
是Gregory-Leibniz series收斂很慢,計算五百萬項也只收斂到小數點下5位。
舊 2007-07-08, 10:40 AM #15
回應時引用此文章
kec離線中  
=風=
Golden Member
 
=風=的大頭照
 

加入日期: Nov 2003
您的住址: 銀河-太陽系-地球-亞洲-中華民國
文章: 2,579
引用:
作者kec
不是Gregory-Leibniz series到五百萬項後就會出現錯誤。
是Gregory-Leibniz series收斂很慢,計算五百萬項也只收斂到小數點下5位。

了解.........
__________________
☆★☆★☆★☆★☆★☆★☆★☆★☆★
舊 2007-07-08, 11:29 AM #16
回應時引用此文章
=風=離線中  
tim901
*停權中*
 
tim901的大頭照
 

加入日期: May 2001
您的住址: TW
文章: 321
引用:
作者=風=
目前就是卡在這個問題要如何解

這個題目簡單
我以前做過類似題目
我是用陣列
A(0)~A(99)
每個陣列元素存1位數
超過10就進位到上一個陣列位置
這種寫法複雜的地方就在把算出結果放到每個陣列元素
我敢保證,沒有第二種解法了
舊 2007-07-08, 11:39 AM #17
回應時引用此文章
tim901離線中  
=風=
Golden Member
 
=風=的大頭照
 

加入日期: Nov 2003
您的住址: 銀河-太陽系-地球-亞洲-中華民國
文章: 2,579
小弟也知道要用陣列
只是不知道要如何寫
不過依小弟的程式來說
要計算到二十位數
可能都要好幾天才運算的完
所以此程式
看看就好
因為效能太差了
__________________
☆★☆★☆★☆★☆★☆★☆★☆★☆★
舊 2007-07-08, 01:20 PM #18
回應時引用此文章
=風=離線中  
tim901
*停權中*
 
tim901的大頭照
 

加入日期: May 2001
您的住址: TW
文章: 321
引用:
作者=風=
小弟也知道要用陣列
只是不知道要如何寫
不過依小弟的程式來說
要計算到二十位數
可能都要好幾天才運算的完
所以此程式
看看就好
因為效能太差了

不會吧
幾千位一下下就算完了
不瞭解為什麼要很久
舊 2007-07-08, 04:03 PM #19
回應時引用此文章
tim901離線中  
=風=
Golden Member
 
=風=的大頭照
 

加入日期: Nov 2003
您的住址: 銀河-太陽系-地球-亞洲-中華民國
文章: 2,579
引用:
作者tim901
不會吧
幾千位一下下就算完了
不瞭解為什麼要很久

那要看你怎麼去寫這個程式
兄台會寫嗎?
會請貼一下程式碼
__________________
☆★☆★☆★☆★☆★☆★☆★☆★☆★
舊 2007-07-08, 07:59 PM #20
回應時引用此文章
=風=離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是05:15 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2026。