Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stack>
  4. #include <math.h>
  5. #pragma warning(disable:4996)
  6.  
  7. int prime[1000005] = { 1, 1, 0 };
  8. void buildboard()
  9. {
  10. for (int i = 2; i <= sqrt(1000005.0); i++)
  11. {
  12. for (int j = i + i; j <= 1000005; j+=i)
  13. {
  14. prime[j] = 1;
  15. }
  16. }
  17. }
  18.  
  19. bool T(long long int num)
  20. {
  21. float test = sqrt((double)num);
  22. if (test != (int)test)
  23. return false;
  24. if (prime[(int)test] == 0)
  25. return true;
  26. else
  27. return false;
  28. }
  29. int main()
  30. {
  31. buildboard();
  32. int cases = 0;
  33. long long int num = 0;
  34. scanf("%d", &cases);
  35. while (cases--)
  36. {
  37. scanf("%lld", &num);
  38. if (T(num))
  39. printf("YES\n");
  40. else
  41. printf("NO\n");
  42. }
  43. return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement