判断素数模板

来源:互联网 发布:数据报送管理办法 编辑:程序博客网 时间:2024/06/05 05:29

1.判断x是否为素数,如果x能被2到sqrt(x)中的一个整除,那么x就不是素数

代码:

//0和1不要输入//判断一个数是不是素数#include<iostream>#include<cstdio>using namespace std;int prime(int n){    for(int i=2;i*i<=n;i++)    {        if(n%i==0)            return 0;    }    return 1;}int main(){    int n;    while(scanf("%d",&n),n)    {        int k=prime(n);        if(k)            cout<<"yes"<<endl;        else            cout<<"no"<<endl;    }    return 0;}

2.高效率的代码:

//0和1不要输入//判断一个数是不是素数#include<iostream>#include<cstdio>using namespace std;int prime(int n){    if(n==2||n==3)    {        return 1;    }    if(n%6!=1&&n%6!=5)        return 0;    for(int i=5;i*i<=n;i+=6)    {        if(n%i==0||n%(i+2)==0)            return 0;    }    return 1;}int main(){    int n;    while(scanf("%d",&n),n)    {        int k=prime(n);        if(k)            cout<<"yes"<<endl;        else            cout<<"no"<<endl;    }    return 0;}




0 0
原创粉丝点击