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

12 查阅

[填空题] 下列程序是判断一个整数(>=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】     Else     【8】     End If  Wend  If swit=0 Then    Print n;"是一个素数。"  Else    Print n;"不是一个素数。"  End If

参考答案:

【7】swit=1【8】I=I+1

解析:素数是只能被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。以便为下一次判断作准备。

计算机考试