这是我用来写任何时候我需要做的检查:
inline bool isPrime(const int a)
{
if(a == 1) return false;
if(a == 2 || a == 3) return true;
if(!(a & 1)) return false;
if(!((a + 1)%6 || (a-1)%6)) return false;
int q = sqrt((long double)a) + 1;
for(int v = 3; v < q; v += 2)
if(a % v == 0)
return false;
return true;
}
Run Code Online (Sandbox Code Playgroud)
由于一些有用的修剪,它的效果非常好.
| 归档时间: |
|
| 查看次数: |
7463 次 |
| 最近记录: |