帮忙看下这个VB求1000内质数的代码哪里错了

来源:百度知道 编辑:UC知道 时间:2024/06/05 07:26:00
Private Sub Form_Click()
Dim i%, j%, n%, p As Boolean
i = 1: j = 2
Do While i <= 1000
p = True '假设p为真
Do While j <= i - 1 '判断是否为质数
If i Mod j = 0 Then
p = False '不为质数则p为假
Exit Do '退出内循环
End If
j = j + 1
Loop
If p = True Then '如果p为真则打印i
Print i
End If
i = i + 1
Loop
End Sub
代码如上,打印出来的是1000内所有的数

Private Sub Form_Click()
Dim i%, j%, n%, p As Boolean
i = 1: j = 2
Do While i <= 1000
p = True '假设p为真
'+++++++++++++++增加此句
j = 2
'+++++++++++++++增加此句

Do While j <= i - 1 '判断是否为质数
If i Mod j = 0 Then
p = False '不为质数则p为假
Exit Do '退出内循环
End If
j = j + 1
Loop
'+++++++++++++++++修改此句
If p = True Then '如果p为真则打印i
'+++++++++++++++++修改此句为
If p = True or i = 1 or i = 2 Then
'+++++++++++++++++修改完毕
Print i
End If
i = i + 1
Loop
End Sub