51nod 1106 质数检测

来源:互联网 发布:电驴mac下载软件 编辑:程序博客网 时间:2024/06/09 17:26
1106 质数检测
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏  关注
给出N个正整数,检测每个数是否为质数。如果是,输出"Yes",否则输出"No"。
Input
第1行:一个数N,表示正整数的数量。(1 <= N <= 1000)
第2 - N + 1行:每行1个数(2 <= S[i] <= 10^9)
Output
输出共N行,每行为 Yes 或 No。
Input示例
5
2
3
4
5
6
Output示例
Yes
Yes
No
Yes

No


打表+=


代码:

#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");elseprintf("No\n");}}return 0;}


0 0
原创粉丝点击