21亿以内素数埃氏筛法。
算法采用了埃氏筛法、数组指针、字串指针。
代码含义见代码中的注释。
将以下内容复制至文本编辑软件中,另存扩展名为.bas,将文件拖入powerbasic10.4,按下ctrl+E编辑并运行,即可看到结果。
英特尔4核i5-3470@3.2G处理器,实测生成的文本文件1.1GB,计算用时19.169秒,输出文件用时63.64秒。
''PowerBasic10.4
#Compile Exe="20200801素数埃氏筛法21亿.EXE"
#Dim All
#Option LargeMem32 '20200801 数组长度不能超过2GB空间,否则仍然出错,导致编译成功,运行失败
#Tools Off
'------------------------------------------------------------------------------
' ** 函數、變量等聲明 **
'------------------------------------------------------------------------------
Macro PrimeUBound=2120000000& '筛选素数上限
Macro SieveMethodUB=46043& '筛选所用数字上限,为PrimeUBound开平方
Function PBMain () As Long '主程序
Dim a(0 To PrimeUBound-1) As Byte,p As Byte Ptr,t#,tc#

这篇博客介绍了使用埃氏筛法在PowerBasic10中实现21亿以内素数的计算过程。代码包含详细注释,可在Intel i5-3470处理器上快速完成计算并生成大文件。
最低0.47元/天 解锁文章
951

被折叠的 条评论
为什么被折叠?



