方法
该方法的大概流程:
1.判断是否小于6,如果小于就判断数是否不等于2,3,5,不等于即不为素数。
2.如果大于等于6就对6取余,如果结果为0,2,3,4那么就不是素数。
此方法是利用6的特征计算素数的,超过10^10都不会爆,且时间复杂度为O(1)。
代码
贴上代码:
bool isprime(int num){
if(num<6){
if(num!=2 && num!=3 && num!=5){
return 0;
}else{
return 1;
}
}else{
int y=num%6;
if(y==0 || y==2 || y==3 || y==4){
return 0;
}else{
return 1;
}
}
}
复制粘贴至程序,然后调用isprime(数)即可,返回0/false不是素数,否则是素数。
喜欢就点个赞关注下吧~