Skip to content

有害部落格同好會

2007/09/10 / VS.NET

計算 pi

其實是 VB6,暫時先歸類到 vb.net 好了

程式內容:
method1是分開算的,加法和減法分開,最後加在一起,
method2是原本的
最後有列印出,計數method1和method2的計算時間…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Private Sub Form_Load()
Dim pi As Variant
Dim i As Long 'Single
Dim j As Variant
Dim k As Variant
Dim Start, Finish, TotalTime
 
pi = 0
j = 0
k = 0
 
If (MsgBox("Press Yes to start for pi calculation", 4)) = vbYes Then
 
'=============method1(divide calculate)====================
Start = Timer
 
For i = 0 To 10000000 '2147483646
j = j + CDec(1 / (4 * i + 1))
Next i
 
For i = 1 To 10000000
k = k - CDec(1 / (4 * i - 1))
Next i
 
pi = j + k
pi = 4 * CDec(pi)
 
Finish = Timer
TotalTime = Finish - Start
 
Debug.Print "method1:" & pi
Debug.Print "method1 time:" & TotalTime
 
'=============method2(original)====================
pi = 0
Start = Timer
 
For i = 0 To 20000000 '2147483646
pi = pi + CDec(1 / (2 * i + 1) * (-1) ^ i)
Next i
 
pi = 4 * CDec(pi)
 
Finish = Timer
TotalTime = Finish - Start
 
Debug.Print "method2:" & pi
Debug.Print "method2 time:" & TotalTime
Else
End
End If
End Sub

Private Sub Form_Load() Dim pi As Variant Dim i As Long 'Single Dim j As Variant Dim k As Variant Dim Start, Finish, TotalTime pi = 0 j = 0 k = 0 If (MsgBox("Press Yes to start for pi calculation", 4)) = vbYes Then '=============method1(divide calculate)==================== Start = Timer For i = 0 To 10000000 '2147483646 j = j + CDec(1 / (4 * i + 1)) Next i For i = 1 To 10000000 k = k - CDec(1 / (4 * i - 1)) Next i pi = j + k pi = 4 * CDec(pi) Finish = Timer TotalTime = Finish - Start Debug.Print "method1:" & pi Debug.Print "method1 time:" & TotalTime '=============method2(original)==================== pi = 0 Start = Timer For i = 0 To 20000000 '2147483646 pi = pi + CDec(1 / (2 * i + 1) * (-1) ^ i) Next i pi = 4 * CDec(pi) Finish = Timer TotalTime = Finish - Start Debug.Print "method2:" & pi Debug.Print "method2 time:" & TotalTime Else End End If End Sub

Post navigation

Previous Post:

笑話一則,真是夠了!

Next Post:

UTF-8編碼時擷取字串和計算長度的函數

分類

  • 新奇有趣の搶先報導
    • Raspberry Pi
    • 手機相關
    • 推薦軟體
    • 新鮮有趣
    • 生活資訊
  • 想破腦袋の程式技巧
    • Oracle EBS
    • Database
    • Excel, VBA
    • php
    • JavaScript, VBScript
    • VS.NET
    • Others
    • Windows
    • SAP
  • 撩動心弦の短文小品
  • 聚沙成塔の理財守則
  • 不可不知の職場實錄
  • 剎那永恆の生活翦影

近期文章

  • 受保護的內容: 如何透過Personalize功能呼叫另一form來回傳值
  • Win10 / 8 / 7 無法安裝 SSD
  • 受保護的內容: 樹梅派+遠端連線
  • EBS R12 取得客戶的phone, email, URL資料
  • 受保護的內容: 管控Workflow Administrator Role

友站

  • Masaya396's 協奏曲
  • 老塗的咁仔店

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

Tag Cloud

你目前使用的瀏覽器不支援 HTML5 的 CANVAS 標籤。

  • MySql
  • php
  • 管理
  • javascript
  • LDAP
  • 感情
  • VB6
  • Win7
  • WinXP
  • VB.Net
  • SAP
  • VBA
  • excel
  • Oracle DB
  • HTC
  • EBS 11.5.10
  • Oracle EBS
  • CSS
  • SQL
  • EBS 12.1.3
© 2025 有害部落格同好會 - Powered by SimplyNews