作者在 2015-02-17 22:11:21 发布以下内容
clear
T1=seconds()
num=1000000
local azs[num]
lncnt=num-1
for lnI=2 to int(sqrt(num))
If azs[lnI]=.F.
for lnJ=lnI*lnI to num step lnI
* If azs[lnJ]!=.f.
azs[lnJ]=.T.
* lncnt=lncnt-1
* endif
endfor
endif
endfor
*messagebox("(1-"+transform(num)+")之间共有质数 "+transform(lncnt)+" 个"+chr(13)+"共运行:"+transform(seconds()-t1)+" 秒")
t2=Seconds()
* 取素数
create cursor dd (prime i)
for lnI = 2 to num
if azs[lnI]=.F.
insert into dd values (lnI)
endif
endfor
go top
browse title "(1-"+transform(num)+")之间共有质数 "+transform(reccount())+" 个"+chr(13)+"共运行:"+transform(t2-t1)+" 秒"