最快素数算法(绝非线性筛选)1.6秒算出1亿内所有素数

时间:2011-11-06 16:10:15
【文件属性】:

文件名称:最快素数算法(绝非线性筛选)1.6秒算出1亿内所有素数

文件大小:1.25MB

文件格式:RAR

更新时间:2011-11-06 16:10:15

革命性 最快 素数算法 Prime 1.6秒

革命性素数算法:计算1亿内素数只要1.6秒 算法基本跟之前发的C#版相同(http://download.csdn.net/source/690005内有算法描述),由我的朋友杨力2年前设计,时间复杂O(n)。我对其进行了革命性的数据结构改进,空间复杂度从2个O(n)降低到1/6个O(n),程序的算法描述更加简洁,改用C++实现,我认为算法效率已经达到了素数算法的极限。 注:创建的内存大小不要超过内存,否则效率下降


【文件预览】:
PrimeNumberD
----PrimeNumberD()
--------ReadMe.txt(980B)
--------PrimeNumberD.vcproj(4KB)
--------PrimeNumberD.cpp(2KB)
--------stdafx.h(276B)
--------Debug()
--------stdafx.cpp(217B)
--------PrimeNumberD.vcproj.WIN-6GA21SOPW1V.Administrator.user(1KB)
----debug()
--------PrimeNumberD.pdb(491KB)
--------PrimeNumberD.ilk(521KB)
--------PrimeNumberD.exe(48KB)
----PrimeNumberD.sln(901B)
----PrimeNumberD.suo(8KB)
----PrimeNumberD.ncb(5.28MB)

网友评论

  • 如果说只是秀一下自己的代码或者思想并不是多好的代码。
  • 程序有点小问题,比如计算100以内(包括100)的素数,输出的有1,3,5,7,....97,101。没2错了,有1也不对,101超了。可能正是因为这样,1亿内素数个数统计出来就成了5761456,正确的应该是5761455个。快确实比较快,但离最快还差得很远。有篇文章题为<超高速计算n以内素数个数>,号称百亿内3毫秒解决。肯定吹牛啊!可是我一运行,傻了!因为这是真的!我后来去找了该程序的理论“导师”,是老外写的一篇论文,惭愧,看不懂!
  • 算法还是不错的,能看懂。
  • 速度很快,可惜没有算法解释
  • 资料全面不 错,写的挺清晰的
  • 不错的算法,不过还有优化空间
  • 很好,很实用
  • 看了半天稍微理解,还是不太理解
  • 算法优化得还算可以,不过在某些情况下还是达不到要求。
  • 很好的算法
  • 这个算法很不错,可以进一步修改
  • 算法针对空间复杂度进行了很高的优化。但是时间效率上的提升仍然不明显,有点可惜。
  • 算法值得仔细研究下,确实很快。
  • 这只是找素数,不是判断素数,注意区分。
  • 确实够快,就是有点难懂
  • 好算法 我稍微修改一下就可以计算1-100之间的素数了 谢谢了
  • 好算法 我稍微修改一下就可以计算1-100之间的素数了 谢谢了 虽然看懂有点难 但是看明白之后其实是很实用的