=3)")   k=Int(Sqr(n))   i=2   swit=0   While i" />下列程序是判断一个整数(>=3)是否为素数,请补充完整。   Dim n As Integer   n=InputBox("请输入一个整数(>=3)")   k=Int(Sqr(n))   i=2   swit=0   While i

下列程序是判断一个整数(>=3)是否为素数,请补充完整。   Dim n As Integer   n=InputBox("请输入一个整数(>=3)")   k=Int(Sqr(n))   i=2   swit=0   While i

admin2009-01-15  44

问题 下列程序是判断一个整数(>=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;"是一个素数。"
  Else
    Print n;"不是一个素数。"
  End If

选项

答案swit=1 ,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。以便为下一次判断作准备。
转载请注明原文地址:https://kaotiyun.com/show/Ha2p777K
0

最新回复(0)