展开全部
解决代码如下,供参考Private Sub Command1_Click()
If Not IsNumeric(Text1.Text) Or Val(Text1.Text)
MsgBox "请输e68a84e8a2ad3231313335323631343130323136353331333337386631入一个大于等于2的正整数"
Text1.SetFocus
Exit Sub
End If
Text2.Text = getUpCloserPnum(Val(Text1.Text))
End Sub
Private Function getUpCloserPnum(N As Long) As Long
Dim i As Long, Stp As Boolean
Stp = False
i = N
Do Until Stp = True
i = i + 1
If isPrimeNum(i) = True Then Stp = True
Loop
getUpCloserPnum = i
End Function
Private Function isPrimeNum(Num As Long) As Boolean
Dim i As Long, j As Long, Result As Boolean
Result = True
For i = 2 To Num - 1
If Num Mod i = 0 Then
Result = False
Exit For
End If
Next i
isPrimeNum = Result
End Function
运行效果