算法原理:
判断一个数是否是素数,只要判断这个数是否可以被比这个数的平方根小的素数整除就可以了。因此下面用了一个List<long>的变量来顺序存放每一个比这个数小的素数,(如果用的是VS2003的话,可以改用ArrayList类型的变量来存)。这个算法的效率还是比较高的,N=10000时,只需160毫秒;N=100000,需要1.5秒;N=1000000,需38秒。
本文介绍了一种高效的素数生成算法,通过维护已知素数列表来加速判断新数是否为素数的过程。该算法利用了素数特性,即一个合数必定有一个因数小于或等于它的平方根。
算法原理:
判断一个数是否是素数,只要判断这个数是否可以被比这个数的平方根小的素数整除就可以了。因此下面用了一个List<long>的变量来顺序存放每一个比这个数小的素数,(如果用的是VS2003的话,可以改用ArrayList类型的变量来存)。这个算法的效率还是比较高的,N=10000时,只需160毫秒;N=100000,需要1.5秒;N=1000000,需38秒。

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