1797 - 素数判断问题
给定一个非负整数,判断它是否为素数。
Input
第一行输入一个数N,表示有N组测试数据。
后面的N行输入多组数据,每组输入数据都是占一行。
Output
输出Yes或者No,占一行
Examples
Input
4 1 2 3 4
Output
No Yes Yes No
Hint
记得考虑特殊数据。
Solution C
#include <stdio.h> int main(){ int a, n, i, f; scanf("%d", &n); while(n--){ scanf("%d", &a); f= a==1?0:1; for(i = 2; i*i <= a; i++){ if(a%i==0 && a!=2){ f=0; break; } } printf("%s\n", f?"Yes":"No"); } return 0; }
Solution C++
#include<stdio.h> #include<math.h> int main() { int i,j,count; scanf("%d",&count); while(count--) { scanf("%d",&i); if(i<0)break; for(j=2;j<=sqrt(i);j++) if(i%j==0)break; if(i==1||i==0)printf("No\n"); else if(j>sqrt(i)) printf("Yes\n"); else printf("No\n"); } return 0; }
Hint
记得考虑特殊数据。