一、定义:素数又称质数(prime number),有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。2是最小的素数,也是唯一的偶数质素;
二、特点:
1.素数除了2和3以外,都在6k+1或6k-1附近,其中(注意:在6的倍数的数附近的不一定为素数);
2.正整数x里有多少个素数(一般x都很大),可以用公式进行估算;
三、一些判断是否为素数的方法
1.暴力法:即除2外,凡大于2的数除了1和自身外,不能被其他数整除;
2.暴力法改进:如果一个数有因子的话,那么在它的平方根数以内就应该有,否则就没有因子;
3.暴力法进一步改进:一般如果某个数是2的倍数的话,那么4、6、8...也无需尝试;
4.筛选法:利用特点1,结合方法2;
5.厄拉多塞筛法:在进行顺序遍历时,每取得一个数(排除0、1),如果将它所有的倍数(排除0、1、本身)都清除,那么,剩下的数必为素数;
6.构造函数:用空间换时间,使用bitset关联容器,结合方法5;
参考文章:
以上仅为个人见解,可能并不完善,若有补充或错误之处,欢迎指出。