质数的几种写法
c++
cmath头文件
#include <cmath>
第1种
bool prime(int n){
if(n < 2) return false;//2以下的不是质数,不包含2
for(int i = 2;i < n;i++)
if(n % i == 0)
return false;
return true;
}
第2种
bool prime(int n){
if(n < 2) return false;//2以下的不是质数,不包含2
int i=2;
while(n%i!=0)
i++;
if(n==i) return true;
else return false;
}
第3种
bool prime(int n){
if(n < 2) return false;//2以下的不是质数,不包含2
for(int i = 2;i <= sqrt(n);i++)
if(n % i == 0)
return false;
return true;
}
第4种
bool prime(int n){
int i = 2,sqrtN = sqrt(n);
while(i<=sqrtN && n%i!=0)
i++;
if(i>sqrtN) return true;
else return false;
}
结束。
仅学习。