【发布时间】:2019-03-05 19:34:31
【问题描述】:
https://www.geeksforgeeks.org/primality-test-set-1-introduction-and-school-method/
//一个优化的基于学校方法的C++程序检查 // 如果一个数是素数
#include <bits/stdc++.h>
using namespace std;
bool isPrime(int n)
{
// Corner cases
if (n <= 1) return false;
if (n <= 3) return true;
// This is checked so that we can skip
// middle five numbers in below loop
if (n%2 == 0 || n%3 == 0) return false;
for (int i=5; i*i<=n; i=i+6)
if (n%i == 0 || n%(i+2) == 0)
return false;
return true;
}
【问题讨论】:
-
该链接解释了为什么它以 6 为增量。我将留给您回答:一个数字的因子可以大于它的平方根吗?
标签: c++ primality-test