Public Class frm主
Dim int第一个数 As Integer ' 定义第一个数
Dim int第二个数 As Integer ' 定义第二个数
Private Function fun是否为素数(ByVal int整数 As Integer) As Boolean '
If int整数 = 0 OrElse int整数 = 1 Then ' 0 和 1 既不是素数也不是合数
Return False
ElseIf int整数 = 2 Then ' 2 是最小的素数
Return True
ElseIf int整数 > 2 And int整数 Mod 2 = 0 Then ' 如果能够被 2 整除,偶数不算(2 例外)
Return False
ElseIf int整数 Mod 2 <> 0 Then
For int因数 As Integer = 3 To Math.Sqrt(int整数) Step 2 ' 如果能够被某个奇数整除就不是素数
If int整数 Mod int因数 = 0 Then
Return False
Else
Continue For
End If
Next
End If
Return True ' 如果上述条件均不成立,这就是一个素数
End Function
Private Sub 单击计算按钮(sender As Object, e As EventArgs) Handles btn计算.Click
txt结果.Clear()
If Not IsNumeric(txt第一个数.Text) OrElse Not IsNumeric(txt第二个数.Text) Then ' 确保文本框输入的是数值。
MsgBox("请在两个文本框中输入数值。")
If Not IsNumeric(txt第一个数.Text) Then
txt第一个数.SelectAll()
txt第一个数.Focus()
Else
txt第二个数.SelectAll()
txt第二个数.Focus()
End If
Exit Sub
End If
If CInt(txt第一个数.Text) < CInt(txt第二个数.Text) Then ' 确保第一个数小于第二个数
int第一个数 = CInt(txt第一个数.Text)
int第二个数 = CInt(txt第二个数.Text)
Else
int第一个数 = CInt(txt第二个数.Text)
int第二个数 = CInt(txt第一个数.Text)
End If
If int第一个数 <= 0 AndAlso int第二个数 <= 0 Then ' 小于 1 的整数中不存在素数和合数
MsgBox("素数和合数只在大于等于 2 的自然数中存在。")
Exit Sub
ElseIf int第一个数 <= 1 Then
int第一个数 = 2
End If
For int整数 As Integer = int第一个数 To int第二个数
If fun是否为素数(int整数) Then
txt结果.Text &= "素数:" & int整数 & vbCrLf
Else
Continue For
End If
Next
End Sub
End Class
压缩包老显示带毒啊???
晕,我只不过是把写好的代码和运行过的程序压缩在一起了。这里有百度安全检测,没问题的,你先关掉你的杀毒软件,把它解压缩之后再打开。