VB求2到1000之内的素数 并且以每行6组数的格式输出

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:57:41
如题
要求存放在数组d中

Private Sub Command1_Click()
Dim i%, j%, n%
For i = 2 To 1000
For j = 2 To i - 1
If i Mod j = 0 Then Exit For
Next
If j >= i - 1 Then
Print Format(i, "@@@@");
n = n + 1
If n Mod 6 = 0 Then Print
End If
Next
End Sub

'一个TextBox和一个CommandButton
'数组d储存素数列,s储存每行六组数格式的字符串

Dim d() As Integer
Private Sub Command1_Click()
Dim flag As Boolean
ReDim Preserve d(1)
d(0) = 2: d(1) = 3
For i = 5 To 1000 Step 2 '忽略偶数
flag = True
For j = 3 To Int(Sqr(i)) Step 2 '忽略偶因数
If i Mod j = 0 Then
flag = False
Exit For
End If
Next
If flag = True Then
ReDim Preserve d(UBound(d) + 1)
d(UBound(d)) = i '添加新素数
End If
Next
For i = 1 To UBound(d) + 1 '处理格式
s = s & " " & d(i - 1)
If i Mod 6 = 0 Then s = s & vbCrLf