|
|
导航: |
论坛 -> 发布代码
斑竹:liumazi,ruralboy |
|
作者: |
|
2018/8/15 13:12:45 |
标题: |
快速计算素数列表,演示筛选法求素数和位图保存结果 |
浏览:1874 |
|
加入我的收藏 |
楼主: |
忽然想计算一个大素数表,只是好玩,可能没什么用^o^ 在我的电脑上测试,几百毫秒可以算出一亿之内的5761455个素数;几秒可以算出十亿之内的50847534个素数。最大可以计算4294967295以内的所有素数;改成64位应该可以算更多素数。 由于使用位图数组保存中间结果,所以比较节省内存,计算一亿以内的素数时,大约需要5兆,计算十亿以内的素数时,大约需要50兆。 输出到文件的方法也稍做了一些改进,速度还是比较快的。详见代码。 代码在D7,XE,RAD10.2下编译并测试通过,实测速度是D7版本的最快,附件所带的程序就是D7编译的。 注意了,如果你要测试输出10亿或更多的素数,请确保硬盘或SSD有足够的存储空间。10亿以内的素数大约需要几百兆的空间。
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了…… |
作者: |
|
2018/8/15 13:39:06 |
1楼: |
顶一个,确实很快
----------------------------------------------
还可以更好
|
作者: |
|
2018/8/15 17:11:08 |
2楼: |
代码有个小问题:直接运行程序,不能正确读取输入的数字,作了改正,见附件。
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
|
作者: |
|
2018/8/15 20:25:37 |
3楼: |
谢谢,收了
----------------------------------------------
还可以更好
|
作者: |
|
2018/8/16 17:27:21 |
4楼: |
换了个复杂点的筛子,貌似稍快一些。
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
|
|