python计算圆周率100万位要多久_Super Pi-计算10000位圆周率需要多少时间?

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

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

Option Explicit

'Copyright (c) 2015,烟台大学计算机学院

'All right reserved.

'作者:邵帅

'文件:工程1.vbp

'完成时间:2015年04月03日

'版本号:v1.0

Sub getpi(Optional ByVal nums As Long = 10000)

nums = nums \ 5

Dim max As Long, laptime As Single, result() As String

Dim i, j As Long, d As Long, t, g, r, k As Long, f()

laptime = Timer

max = 10 * nums

ReDim f(1 To max)

ReDim result(nums)

result(0) = vbCrLf

For i = 1 To max

DoEvents

f(i) = 30000

Next

For j = max To 1 Step -10

t = 0

DoEvents

For i = j To 1 Step -1

DoEvents

If j = max Then

t = t + f(i) * 1000000

Else

t = t + f(i) * 100000

End If

r = 8 * i * (2 * i + 1)

f(i) = t - Int(t / r) * r

d = 2 * i - 1

t = Int(t / r) * d * d

Next

k = k + 1

result(k) = Format(Int(g + t / 100000) Mod 100000, "00000")

If k Mod 20 = 0 Then result(k) = result(k) & vbCrLf

If k Mod 200 = 0 Then result(k) = result(k) & "---[" & k * 5 & "]---" & vbCrLf

g = t Mod 100000

Next

Text1.Text = "3." & Join(result, " ")

Open "C:\1.txt" For Output As #1

Print #1, Text1.Text

Close #1

Timer1.Enabled = False

End Sub

Private Sub Command1_Click()

Timer1.Enabled = True

getpi Text2.Text

MsgBox "计算完成,共用时" + s1.Caption + "秒。" & vbCrLf & "计算结果将在C:\1.txt下显示。"

End Sub

Private Sub Timer1_Timer()

s1.Caption = s1.Caption + 1

End Sub

    

@ Mayuko

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值