发布网友 发布时间:2022-05-26 09:25
共1个回答
热心网友 时间:2023-10-11 00:28
Option Explicit
Private Sub Command1_Click()
Dim π As Double, AccuracyRating As Double, i As Integer
AccuracyRating = InputBox("", "", 0.00001)
π = 2: i = 1
Do While Factorial(i) / DoubleFactorial(2 * i + 1) >= AccuracyRating
π = π + 2 * (Factorial(i) / DoubleFactorial(2 * i + 1))
i = i + 1
Loop
Print "AccuracyRating = " & AccuracyRating
Print "π= " & π
Print
End Sub
Public Function Factorial(ByVal N As Integer)
Dim i As Integer
Factorial = 1
For i = 1 To N
Factorial = Factorial * i
Next i
End Function
Public Function DoubleFactorial(ByVal N As Integer)
Dim i As Integer
DoubleFactorial = 1
For i = 1 To N Step 2
DoubleFactorial = DoubleFactorial * i
Next i
End Function