判断一个数是不是素数。
输入一个整数T,代表测试组数。然后输出T个整数N。(T<=1000000,N<=1000000)
如果整数是素数,输入YES,否则输入NO。
输入样例 1
3
2
7
18
输出样例 1
YES
YES
NO
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int num, a, sigh;
scanf_s("%d", &num);
int* p = (int*)malloc(num * sizeof(int));
if (p == NULL)
return 0;
for (int i = 0;i < num;i++)
scanf_s("%d", p + i);
for (int i = 0;i < num;i++)
{
if (*(p + i) % 2 == 0)
{
printf("NO\n");
continue;
}
a = sqrt(*(p + i));
sigh = 1;
for (int j = 2;j <= a;j++)
{
if (*(p + i) % j == 0)
{
sigh = 0;
break;
}
if (sigh)
printf("YES\n");
}
}
free(p);
p = NULL;
return 0;
}