算法笔记上看到的判断素数的方法,数学家真的🐂🍺
时间复杂度根号级
bool isprime(int n){
if(n<=1) return false;//特判
int sqr=(int)sqrt(1.0*n);//根号
for(int i=2;i<=sqr;i++){
if(n%i==0) return false;
}
return true;//素数
}
如果n没有接近int范围的上界,有个更简单的办法
bool isprime2(int n){
if(n<=1) return false;
for(int i=2;i*i<=n;i++){
if(n%i==0) return false;
}
return true;
}