+ -
当前位置:首页 → 问答吧 → asp 高手

asp 高手

时间:2011-11-03

来源:互联网

编写一个程序,要求输入起始数据与终止数据(输入数据为整数)。然后计算出输入数据范围中所有的素数,用列表显示

作者: xiuxuanhao   发布时间: 2011-11-03


function getNum(beginindex,endindex)
  dim maxnum,numArray 
  numArray = new Array()
  maxnum =0'能够被整除的个数
  for i=beginindex to endindex
  for n=1 to i
  if(n mod i = i or n mod i =0) then
  maxnum = maxnum+1
  end if
  next
  if maxnum <3 then
  numArray .push(i) ;
  end if
  maxnum = 0
  next
   
  '输出素数列表
  for m=0 to ubound(numArray)
  response.write (numArray(i))
  response.write("<br/>")
  next
end function

作者: EdwardLong   发布时间: 2011-11-03

getNum(beginindex,endindex) 方法 
并没有对 beginindex,endindex 做检验
本程序只是在 输入 合法范围的前提下来编写的。

作者: EdwardLong   发布时间: 2011-11-03

把 numArray .push(i) ; 的分号去除,否则报错 。

作者: EdwardLong   发布时间: 2011-11-03

上面代码 if(n mod i = i or n mod i =0) then 
应该改为 if(i mod n = i or i mod n =0) then 
除数与被除数 搞反了。本想及时更正,但一个帐号回复次数太多。
唯有借用帐号回复,无错代码如下。
function getNum(beginindex,endindex)
  dim maxnum,numArray 
  numArray = new Array()
  maxnum =0'能够被整除的个数
  for i=beginindex to endindex
  for n=1 to i
  if(i mod n = i or i mod n =0) then
  maxnum = maxnum+1
  end if
  next
  if maxnum <3 then
  numArray .push(i) 
  end if
  maxnum = 0
  next
   
  '输出素数列表
  for m=0 to ubound(numArray)
  response.write (numArray(i))
  response.write("<br/>")
  next
end function

作者: kinghome   发布时间: 2011-11-03

要把 1 剔除 只需要把
if maxnum <3 then
这个条件改为 
if (maxnum <3 and i>1) then
即可。
太久没写ASP ,一写还真有不少手误^_^

作者: kinghome   发布时间: 2011-11-03