关于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
还有如果可以的话希望尽可能多给这些代码一些解释,方便理解~谢谢
展开
 我来答
匿名用户
2012-12-26
展开全部
i<=1 then i=2

因为最小的素数是2,没必要计算小于2的数,如果输入的m是小于等于1的数的话。
追问
flag=true的意思是逻辑变量为真
在这里有什么意义
~~~求解答
不胜感激
追答
如果不加上这语句,那么变量flag的值永远为false,
If flag Then 这段代码的条件永远不会成立,也就是判断结构里的代码永远不执行,不输出素数
label3.caption=....
k = k + 1
End If
jsntzsy
2012-12-27 · 超过12用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:40.7万
展开全部
从数学的角度讲,由于素数必须>1所以会写这条语句,但从编程的角度讲,由于<=1的时候做这个循环可能会导致死循环或者 i MOD 0 ,所以要写这条语句~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式