vb中求素数的问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 18:22:10
要求求出18000内的最大素数,并且能将结果输出到一个文档中,高手把完整程序发来,,谢谢

Private Sub form_click()
Dim n As Integer, i As Integer
For n = 17999 To 3 step -2
For i = 2 To Sqr(n)
If n Mod i = 0 Then Exit For
Next i
If i > Sqr(n) Then
exit for
end if
Next n
Open "C:\1.txt" For Output As #1
Print #1, "18000内的最大素数是:";n
Close #1
End Sub
单击窗体即可。运行结果:17989

我机器只有QB,没有VB,但是我估计可能原理差不多的,我下面的QB程序调试通过:

x = 1800
ok = 0
WHILE ok = 0
ok = 1
FOR i = 2 TO x - 1
IF x MOD i = 0 THEN ok = 0
NEXT
IF ok = 1 THEN PRINT x
x = x - 1
WEND

输出的结果是1789

Private Sub form_click()
Dim n As Integer, i As Integer, k As Integer
For n = 3 To 18000
For i = 2 To Sqr(n)
If n Mod i = 0 Then Exit For
Next i
If i > k Then s = n
Next n
Open "z:\1.txt" For Output As #1
Print #1, s
Close #1
End Sub

Dim n As Integer, i As Integer
dim b