前言
质数,又名素数(prime number),是算法竞赛出题常用的一种角度。素数的定义是只能被1和它本身整除的数字叫做素数。算法竞赛中与此有关的知识点有素数判断、素数筛等。由于判断质数在比赛出题中常常作为解题的其中一小步,因此我们常常用写一个isprime函数的方式来进行素数判断。此函数的功能为接收一个整数,若此整数为素数,返回true,否则返回false。
在之前的文章里已经提到过了素数判断的一般方法,即遍历2到sqrt(n),寻找是否有n的因数。在介绍本篇文章的方法之前,我们先来进行必要的知识储备。
一、知识储备和证明
结论:除2,3以外素数必然临近6的倍数,即一个除了2,3以外的素数一定可以用6n+1或者6n+5来表示(n=1,2,3,4…)。
证明:将所有自然数为6n+0, 6n+1, 6n+2, 6n+3, 6n+4, 6n+5, 易证6n+0一定能被6整除,6n+2</