请问这个VB程序有没有错?判断一个正整数是否素数的

来源:百度知道 编辑:UC知道 时间:2024/06/17 07:06:07
Private Sub Command1_Click()
Dim i As Integer
m = Text1.Text
For i = 2 To (m - 1)
If m Mod i = 0 Then
Label2 = "这是不素数"
Exit For
Else
Label2 = "这是素数"
Exit For
End If
Next i
End Sub

新建一个文本框 和一个按钮,,
下面代码能判断text1.text的数是否是素数

Private Sub Command1_Click()
Dim m As Integer
m = Int(Text1.Text)

For j = 2 To m
If m Mod j = 0 Then Exit For
Next j
If j = m Then MsgBox "这个数是素数" Else MsgBox "这个数不是素数"
End Sub

===========================================
你这样写是不行的。。你这个只要是能被2整除的就不是素数,不能被2整除的就是素数,比如9,15,21,25。。你那显示都是素数。问题出在哪都帮你标好了

Private Sub Command1_Click()
Dim i As Integer
m = Text1.Text
For i = 2 To (m - 1)
If m Mod i = 0 Then '就在这,第一次I=2. 假如M值是9,,9不能被2整除, _
则条件不成立.则执行ELSE后面的语句.这个不是素数
Label2 = "这是不素数"
Exit For
Else
Label2 = "这是素数"
Exit For
End If
Next i
End Sub

基本是对的,思路不错,不过还可以再减少循环次数,除数你是从2到数字减1的,其实不用,只要到数字的一半就好了

m=val(text1.text)

有错 这个实际上只循环了1次(mod2)就弹出了结果
Private Sub Command1_Click()
Dim i As Long, j As Long
i = Val(Text1.Text)
If i <