质数判定方法
全文共 170 字预计阅读 1 分钟
原理:
质数的分布具有特点,经过证明可以得到,大于等于 的质数一定和 的倍数相邻,一定是 或 。利用这种特性。可以对整数进行筛选,只判断那些是 或 的整数是否为质数。
证明过程如下:
令 ,将大于等于 的自然数表示如下: ······ ······(相邻 个数为一组)
在以上的数字中,和 是偶数,一定不是质数; 可以分解为 ,不是质数,因此质数只能是 和 。
代码:
bool isPrime(int n)
{
if (n <= 3) return n >= 2;
if (n % 6 != 1 && n % 6 != 5) return false;
for (int i = 5; i <= n / i; i += 6)
{
if (n % i == 0 || n % (i + 2) == 0) return false;
}
return true;
}