急!!VB中关于求素数和的程序

来源:百度知道 编辑:UC知道 时间:2024/05/17 03:12:05
有这样一道题;要求在名称为Form1的窗体上建立两个单选按钮,名称分别为Opt1和Opt2,标题分别是"100-200之间的素数和"以及"200-400之间的素数和",一个名称为Text1的文本框和一个名称为Cmd1的命令按钮,命令按钮的标题是"计算",程序运行时,单击"计算"按钮,则计算单选按钮所指明的所有素数的和,并在文本框中显示出来.
注意;必须是VB.
还有,说明一下,素数是指这样一些数,它只能被自己和1整除.本题需要在窗体内建立一个判断素数的自定义函数.其返回值是布尔型

Dim K1 As Integer, K2 As Integer, S As Integer, I As Integer, J As Integer, X As Long

Private Sub Command1_Click()
S = 0
For I = K1 To K2 '循环次数由Option1和Option2决定
X = 0
For J = 2 To I - 1 '循环I-2次,除1和本身
If I Mod J <> 0 Then
X = X + 1
End If
If X = I - 2 Then '如果全部不整除,说明是素数
S = S + I '计算素数和
End If
Next J
Next I
Text1.Text = S '显示素数和
End Sub

Private Sub Option1_Click()
K1 = 100
K2 = 200
End Sub

Private Sub Option2_Click()
K1 = 200
K2 = 400
End Sub

计算机算素数有技巧的。只要一个数s不能被从2到Int(Sqr(s))中所有数整除,那就是素数了。
程序如下:
Private Function IsPrime(s As Long) As Boolean
Dim i As Long
For i = 2 To Int(Sqr(s))
If s Mod i = 0 Then
IsPrime = False
Exit Function
End If
Next
IsPrime = True
End Function
至于列出所有素数,用For...Next硬上就可以了。