素数判定 扳子

来源:互联网 发布:天空之眼 知乎 编辑:程序博客网 时间:2024/04/30 02:02
#include <iostream>#include <string>#include <cstring>#include <stdio.h>#include <cmath>#include<cstdio>#include<cstring>#include<cmath>#define MA 100001bool prim[MA];int main(){    int i,j,t,n;    memset(prim,true,sizeof(prim));    for (i=2;i<sqrt(MA);i++)    {        if (prim[i])        {            for (j=i*i;j<MA;j=j+i)            prim[j]=false;        }    }    scanf("%d",&t);    while (t--)    {        scanf("%d",&n);        if (n<100001)        {            if (prim[n])            printf("Yes\n");            else            printf("No\n");        }        else        {            bool fafe=true;            int p=sqrt(n);            for (i=2;i<=p;i++)            if (prim[i]&&n%i==0)            {                fafe=false;                break;            }            if (fafe)            printf("Yes\n");            else            printf("No\n");        }    }    return 0;}
0 0
原创粉丝点击