计算10000位圆周率需要多少时间?

今天谈到CPU的计算功率,想到网上流传的Super Pi这个圆周率计算器。

两个Text,,一个Timer,一个Command,就可完成Super Pi的工作~

Option Explicit'Copyright (c) 2015,烟台大学计算机学院'All right reserved.'作者:邵帅'文件:工程1.vbp'完成时间:2015年04月03日'版本号:v1.0Sub getpi(Optional ByVal nums As Long = 10000)nums = nums \ 5Dim max As Long, laptime As Single, result() As StringDim i, j As Long, d As Long, t, g, r, k As Long, f()laptime = Timermax = 10 * numsReDim f(1 To max)ReDim result(nums)result(0) = vbCrLfFor i = 1 To maxDoEventsf(i) = 30000NextFor j = max To 1 Step -10t = 0DoEventsFor i = j To 1 Step -1DoEventsIf j = max Thent = t + f(i) * 1000000Elset = t + f(i) * 100000End Ifr = 8 * i * (2 * i + 1)f(i) = t – Int(t / r) * rd = 2 * i – 1t = Int(t / r) * d * dNextk = k + 1result(k) = Format(Int(g + t / 100000) Mod 100000, "00000")If k Mod 20 = 0 Then result(k) = result(k) & vbCrLfIf k Mod 200 = 0 Then result(k) = result(k) & "—[" & k * 5 & "]—" & vbCrLfg = t Mod 100000NextText1.Text = "3." & Join(result, " ")Open "C:\1.txt" For Output As #1Print #1, Text1.TextClose #1Timer1.Enabled = FalseEnd SubPrivate Sub Command1_Click() Timer1.Enabled = True getpi Text2.Text MsgBox "计算完成,共用时" + s1.Caption + "秒。" & vbCrLf & "计算结果将在C:\1.txt下显示。"End SubPrivate Sub Timer1_Timer() s1.Caption = s1.Caption + 1End Sub

@ Mayuko

如若今生再相见,哪怕流离百世,迷途千年,也愿。

计算10000位圆周率需要多少时间?

相关文章:

你感兴趣的文章:

标签云: