vb 判断质数

来源:百度知道 编辑:UC知道 时间:2024/06/07 19:03:22
Dim a As Integer
Dim b As Integer
Dim number As String
number = InputBox("输入数字")
a = number
For b = 2 To (a - 1)
If a Mod b = 0 Then
Print "这不是质数"
Else
Print "这是质数"

运行后输入数字的话会出现 b = 2 to (a-1)的每一次结果,就是说会出现(a-2)次的判断。
很明显,只要有一个这不是质数,那这就不是质数,我希望就出现结果一次,该怎么做呢?

Dim a As Integer
Dim b As Integer
Dim number As String
number = InputBox("输入数字")
a = number
Dim Flag As Boolean
Flag = True
For b = 2 To Sqr(a) '不用判断到a-1,只要到 Sqr(A)就OK了
If a Mod b = 0 Then
Flag = False
Exit For
End If
Next
If Flag = True Then
Print "是质数"
Else
Print "不是质数"
End If

For b = 2 To a - 1
If a Mod b = 0 Then exit for
next b
if b=a then
Print "这是质数"
else
Print "这不是质数"
end if