VB用筛选法求m以内的所有素数1、由筛选法求m以内的所以素数(1)把2--m以内的所有数放入筛中;(2)找筛中最小的素数
VB用筛选法求m以内的所有素数
1、由筛选法求m以内的所以素数
(1)把2--m以内的所有数放入筛中;
(2)找筛中最小的素数,再筛中去掉该素数的所有倍数;
(3)重复(2),直到要找的筛中的最小素数已超出m 的范围;
(4)打印筛中的素数。
Private Sub txtnput_KeyPress(KeyAscii As Integer)
Dim I As integer, j As integer
Dim prime(1000) As Integer
Dim m As Integer, p As integer
Dim flag As Boolean
If KeyAscii=13 Then
M=__________(34)________
For I= 2 To m-1 “筛子充满数
Prime(i)=1
Next I
P=2
Flag=True
Do
Do While p P=________(35)__________
Loop
If p=m Then flag=________(36)_________’筛了中的数全求过结束
For I=p+p To m-1 Step p ‘在筛子中清除该素数的倍数
Prime(i)=0
Next I
P=p+1
Loop While flag=True
I=0
For j=2 to m-1 “打印素数
If ______(37)_______Then
Picture1.Print j;
I=I+1
If I MOD 5=0 Then Picture1.Print ‘一行打印5个素数
________(38)_____________
Next j
End If
End Sub