回 帖 发 新 帖 刷新版面

主题:do while求素数的问题

我是想输入一个数,然后给出1到这个数之间的所有的素数。
问题是,当我运行的时候无论输入几都会提示: 是否停止运行此脚本?此页面上的脚本造成IE运行速度减慢。如果继续运行,您的计算机可能停止相应。
这是怎么回事啊?是代码里哪错了吗?
sub showmessage
  dim i,flag,j,result,n
  result=""
  n=inputbox("请输入一个数字:","输入数字")
  i=3
  Do While i<=n
     flag=1
     j=2
     Do While j<=i-1
       If i mod j=0 then 
         flag=0
         exit Do
       End If
       j=j+1
     loop
     If flag=1 then
       result=result & i & ","     
     End If
     i=i+1
  loop        
  msgbox "1到"&n&"之间的素数有1,2,"    & result     
end sub
call showmessage

回复列表 (共1个回复)

沙发

好久没写程序了,看得有点头晕,好像没发现逻辑错误。
出现这种问题一般都是出现死循环导致的。
另外,你输入了大的数值?

我来回复

您尚未登录,请登录后再回复。点此登录或注册