用VB怎样编写“判断数字是否为质数”的程序

来源:百度知道 编辑:UC知道 时间:2024/05/04 07:35:54

Function ss(Tmp As Long) As Boolean '素数判断
ss = True
For i = 2 To Tmp / 2
If Tmp Mod i = 0 Then
ss = False
Exit Function
End If
Next
End Function

Private Sub Command1_Click()
Dim a As Long
For a = 10 To 100 '小一点 从10到 100吧!

If ss((a))Then
Print a
End If
Next
End Sub

可以这样求: 假定一个数为N,如果N不能被2到N的开平方+1之内的自然数整除,那N便是质数.

给个效率高一点的求素数函数(2-Num之间的所有素数):
Sub Q(Num As Long)

Dim tmp() As Long
Dim I As Long
Dim J As Long
Dim K As Long

ReDim tmp(0)

tmp(0) = 2

For I = 3 To Num Step 2
For J = 2 To Int(Sqr(I)) + 1
If I Mod J = 0 Then GoTo NotQ
Next
K = K + 1
ReDim Preserve tmp(K)
tmp(K) = I
NotQ:
Next

For J = 0 To K '在窗体上打印
If J = K \ 3 Or J = 2 * K \ 3 Then Me.Print
Me.Print tmp(J) & chr(8) ;
Next

End Sub