当前位置:IT认证>BASIC题库

问题:[填空题]

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

  

参考答案:

swit=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。以便为下一次判断作准备。

微信端