作业帮 > 综合 > 作业

vb编程题 输出3到100之间所有的质数 (质数:只能被1和它本身整除的数)

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 14:06:57
vb编程题 输出3到100之间所有的质数 (质数:只能被1和它本身整除的数)
Private Sub Command1_Click()
For i = 3 To 100
For j = 2 To Sqr(i)
If i Mod j = 0 Then Exit For
Next
If j > Int(Sqr(i)) Then s = s & i & " "
Next
MsgBox s
End Sub
再问: 给解释下好不好,有些看不懂
再答: mod 函数作用是求余数

判断i是否为质素,就是判断从2开始到i,除i自身外有没有数能和i整除 余数为0 就是能整除
为了减少不必要的判断 循环到 i 平方根 就可以了 再上面就根本不会有满足整除的数

如果求余数为0 则退出循环 此时的j变量值 一定是小于或等于 循环的终止值 sqr(i)
如果在j循环里 找不到 If i Mod j = 0 Then Exit For 满足这个条件的数 当退出j循环时
j值等于 srq(i)+1 会大于 srq(i) 故判断j 值大小 就知道 这个i 是否为质素