![]() |
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)
|
|---|
vb6高手求教?圓周率的程式如何寫呢?
小弟最去想要求出圓周率小數位以下100位數
請問如何用vb6寫這個程式呢? 公式如下 ![]() 順便把一百位數列出如下 3.1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 麻煩,謝謝 :) |
PRINT
![]() PRINT 3.1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 :ase :ase :ase |
小弟洗個澡之後
就看到有人回答 心想 怎麼會有如此的高手出現 原來...... :) |
這不算很難吧?
dim x,i,f as integer dim pi as double(我不太確定是不是用double還是real...家裡電腦沒裝vb6) dim strPi as string x=1 f=-1 pi=0 n=100(或是另外寫介面自行決定n要多少) for i=1 to n f=f*f x=x+2 pi=pi+f*(4/x) next i strPi=left(cstr(pi),102) 歡迎指正或修正. |
用double 倍精數 數字小就用單精數
太久沒用vb |
不能用double,因為double大概是14~15位有效位數,無法達到樓主要求的精確至小數點下100位。
|
這個要先弄出大數加法、除法
要判斷100位精準度,實際計算的位數一定要超過100位 |
為什麼樓主要選Gregory-Leibniz series這個收斂很慢的級數來算圓周率? :confused:
要精確到小數點下100位要計算很多很多很多項,怕CPU沒事做嗎? :p |
引用:
因為只要這個公式 比較容易懂 其他的公式更難了 小數位一百位 對現在的cpu應該還不至於太困難的工作(小弟猜的 :D ) |
引用:
目前就是卡在這個問題要如何解 :) |
| 所有的時間均為GMT +8。 現在的時間是02:53 PM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2026。