Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stack>
- #include <math.h>
- #pragma warning(disable:4996)
- int prime[1000005] = { 1, 1, 0 };
- void buildboard()
- {
- for (int i = 2; i <= sqrt(1000005.0); i++)
- {
- for (int j = i + i; j <= 1000005; j+=i)
- {
- prime[j] = 1;
- }
- }
- }
- bool T(long long int num)
- {
- float test = sqrt((double)num);
- if (test != (int)test)
- return false;
- if (prime[(int)test] == 0)
- return true;
- else
- return false;
- }
- int main()
- {
- buildboard();
- int cases = 0;
- long long int num = 0;
- scanf("%d", &cases);
- while (cases--)
- {
- scanf("%lld", &num);
- if (T(num))
- printf("YES\n");
- else
- printf("NO\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement