VB输入一个数,找大于它的最小质数.急用急用
根据你的要求,写了一个程序
希望对你有所帮助
原理是:检察大于该输入数lngX的lngN与[2,lngN-1]内的数相除取余.
如果期间有整除发生,就是标记blnZS=TRUE跳出循环,说明它不是质数,否则循环完成后发现blnZS=false说明未发生整除,说明它是质数
Private Sub Command1_Click()
On Error Resume Next
Dim lngN As Long, lngM As Long, lngX As Long, blnZS As Boolean
lngX = CLng(InputBox("请输入一个 >1 的整数" & vbCr & "注意我将不作进一步的检察"))
lngN = lngX + 1
If lngN = 2 Then MsgBox LGNX & "后的最小质数是: 2": Exit Sub
Do
blnZS = True '初始化为是质数
For lngM = 2 To lngN - 1 'lngN=2时不循环
If lngN Mod lngM = 0 Then
blnZS = False '如果能被大于2小于本身-1的数整除,说明不是质数
Exit For
End If
Next
If blnZS Then MsgBox LGNX & "最小质数是: " & lngN: Exit Sub
lngN = lngN + 1
Loop
End Sub