[填空题] 下列程序是判断一个整数(>=3)是否为素数,请补充完整。 Dim n As Integer n=InputBox("请输入一个整数(>=3)")
2021-07-20
[填空题] 下列程序是判断一个整数(>=3)是否为素数,请补充完整。
Dim n As Integer
n=InputBox("请输入一个整数(>=3)")
k=Int(Sqr(n))
i:2
swit=0
While i
If n Mod i=0 Then
[7]
E1se
[8]
End If
Wend
If swit=0 Then
Print n;"是一个素数。"
E1se
Print n;"不是一个素数。"
End If
正确答案:swit=l
参考解析:素数是只能被1和本身整除的正整数,在本题的程序中,swit是一个标志变量,如果swit=0,则表示n不能被整除;如果能被一个整数整除,则swit变为1。 While循环执行的条件有两个,一个是I<=k,另一个是swit=0,必须两个条件同时成立才执行循环,当I>k时,显然不必再检查n是否能被I整除;而如果“swit=1”,则表示n已被整除,肯定不是素数,也不必检查了。 只有I<=k和swit=0两者同时成立时才需要检查“n是否为素数”,循环只有一个判断操作,即判断n能否被I整除,如果不能,则I=I+1,以便为下一次判断的准备。
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
