VB for循环
代码:
Private Sub Command1_Click()
Dim a As Integer, b As Integer
For a = 101 To 300 Step 2
For b = 2 To a - 1
If a Mod b = 0 Then
Exit For
End If
Next b
If b >= a Then
Text1.Text = Text1.Text & Space(5) & a
End If
Next a
End Sub
求素数,有点小问题。
for a = 101 to 300 Step 2
设置在100-300之间,为什么可以设置101-299,是不是为后面的 b = 2 to a - 1专门设置的语句?
a mod b =0具体是什么意思?是a被b整除还是b被a整除?
为什么说b >=a的话就能确定是素数了?
求真相,详细点,谢谢。
补充:for a = 101 to 300 Step 2
设置在100-300之间,为什么不可以设置101-299,是不是为后面的 b = 2 to a - 1专门设置的语句?
上面那个打错了
答案:(1)设置101-299结果是一样的,因为299不是素数,这里求的是素数。
后面的 b = 2 to a - 1,是另一重循环,作“除数”,看是否可以整除。
但不可以设置“100-300”之间,因为这样你就只判断偶数了,除非你把“ Step 2”去掉。
(2)a mod b =0 是判断是否整除,代表a除以b时的余数。
(3)判断是否为素数就看从2到本身减1是否有可以整除的数。一个自然数除以比其本身大的数结果会小于1,不符合整除的概念。
上一个:vb中scale full是什么意思啊,小弟求教各位大侠啦
下一个:vb问题,如何放大或缩小剪贴板中的图?