genPrime和genPrime2是筛法求素数的两种实现,其实是一个思路,表示方法不同而已。
具体思路在注释中已经含有。
ps:补充于2011-6-14
参考博客:
1.http://www.cppblog.com/shyli/archive/2007/05/18/24334.html
2.http://blog.sina.com.cn/s/blog_4b5210840100cm4r.html
3.http://blog.hjenglish.com/bedford/archive/2008/10/11/401082.html
筛法其实就是以空间换时间的一个最好的证明。空间复杂度增加了,时间复杂度降低了。这个斐波那契数列求解类似,如果用递归,那么时间复杂度很慢,如果将用数组存储一个斐波那契数列,则时间复杂度降低到线性。
上面的参考博客2有一些解释,3则给出了具体的改进算法。有空再研究。