[填空题] 下列程序是判断一个整数(>=3)是否为素数,请补充完整。 Dim n As Integer n=InputBox("请输入一个整数(>=3)") k=Int(Sq

18 查阅

[填空题] 下列程序是判断一个整数(>=3)是否为素数,请补充完整。

Dim n As Integer

n=InputBox("请输入一个整数(>=3)")

k=Int(Sqr(n))

i:2

swit=0

While i<=k And swit=0

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,以便为下一次判断的准备。

计算机考试