
关于VB求素数的几个细节问题
Fori=mTonflag=TrueIfi<=1Theni=2Forj=2Toi-1If(iModj)=0Thenflag=FalseExitForEndIfNextjI...
For i = m To n
flag = True
If i <= 1 Then i = 2
For j = 2 To i - 1
If (i Mod j) = 0 Then
flag = False
Exit For
End If
Next j
If flag Then
label3.caption=....
k = k + 1
End If
Next i
label3.caption=...
其中为什么要出现i<=1 then i=2
还有如果可以的话希望尽可能多给这些代码一些解释,方便理解~谢谢 展开
flag = True
If i <= 1 Then i = 2
For j = 2 To i - 1
If (i Mod j) = 0 Then
flag = False
Exit For
End If
Next j
If flag Then
label3.caption=....
k = k + 1
End If
Next i
label3.caption=...
其中为什么要出现i<=1 then i=2
还有如果可以的话希望尽可能多给这些代码一些解释,方便理解~谢谢 展开
2个回答
2012-12-26
展开全部
i<=1 then i=2
因为最小的素数是2,没必要计算小于2的数,如果输入的m是小于等于1的数的话。
因为最小的素数是2,没必要计算小于2的数,如果输入的m是小于等于1的数的话。
追问
flag=true的意思是逻辑变量为真
在这里有什么意义
~~~求解答
不胜感激
追答
如果不加上这语句,那么变量flag的值永远为false,
If flag Then 这段代码的条件永远不会成立,也就是判断结构里的代码永远不执行,不输出素数
label3.caption=....
k = k + 1
End If
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询