2.利用试除法求素数
筛法是用乘法寻找素数,实际上,也可以用试除法判断一个数是否是素数。
而且,用试除法的效率可能会更高。
假设我们已经找到了前n 个素数22,3,...,i n p p p ==,为了寻找下一个素数,我们从2n p +开始依次检验每一个整数N ,看N 是否能被某个,1,2,...,i p i n =整除。
如果N 能被前面的某个素数整除,则N 为合数。
否则N 即为下一个素数1n p +。
实际上,为了提高算法的效率,我们不需要用前面的每一个素数去试除N ,
而只需用不超过N的素数去除就可以了。
下面我们运用试除法来求100,500,1000所有的素数,程序运行如下:
从以上的运行过程可以看出,试除法求素数比Eratosthenes筛法更快。
3.数素性的判别
数素性的判别方法有三种,即:1)n-1检验法2)基于广义黎曼猜想的判别法3)概率判别法,下面我们利用概率判别法对2,3,...,100
n 这些数进行数素性判别,程序运行如下:
由此,我们可以看到对一个数的数素性判别有好多方法。
素数在我们学习的数中扮演着很重要的角色,所以判断一个数是否是素数是非常有用的。
实验结果和结果分析:
附录:。