计算圆周率excel

数学、物理等理工
回复
pengxj
帖子: 14
注册时间: 周五 11月 01, 2019 9:20 am

计算圆周率excel

帖子 pengxj »

Sub getpi2()
Dim nums, max As Long, result() As String
Dim i, j, d, t, g, r, k As Long

nums = Range("B1")
nums = nums / 5
max = 10 * nums

ReDim f(1 To max)
ReDim result(nums)

For i = 1 To max
f(i) = 30000
Next

k = 1: g = 0
For j = max To 1 Step -10
t = 0
For i = j To 1 Step -1
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
result(k) = Format(Int(g + t / 100000), "00000")
g = t Mod 100000
k = k + 1
Next

Range("B2") = "3." & Join(result)
End Sub

回复