谁有质数表怎样算的?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 20:38:58
谁有质数表怎样算的?谁有质数表怎样算的?谁有质数表怎样算的?PrivateFunctioncheck(iAsInteger)AsBooleanForj=2ToCInt(Sqr(i))+1''从2循环到i

谁有质数表怎样算的?
谁有质数表
怎样算的?

谁有质数表怎样算的?
Private Function check(i As Integer) As Boolean
For j = 2 To CInt(Sqr(i)) + 1 '从2循环到i的平方根
If i Mod j = 0 Then '如果i除以j的余数为0,说明i不是素数
check = False '返回false
Exit Function '退出本过程
End If
Next j
check = True '循环结束没有退出过程,说明i不能整除从2到i平方根的所有数,也就是说i是素数,返回true
End Function
Private Sub Cmd2_Click()
Dim i As Integer
i = CInt(Text1.Text) '取一个数,转化为整数
If i Mod 2 = 0 Then '如果是偶数
i = i - 1 '取比它下的最大奇数,因为只有奇数才可能是素数
Else
i = i - 2 '同样是取比它下的最大奇数
End If
Do Until check(i) '循环到check(i)为true,也就是找到最大的素数
i = i - 2 '减2是为了使i一直是奇数
Loop
Text2.Text = i '输出这个素数
End Sub
以上程序可以检测一个属是否为质数
要输出质数可以这样:
Dim i As Long
For i = 1 To 1000
If Check(i) Then
Print i
End if
Next
这样可以求出 1—1000 以内所有质数