Advertisement
Guest User

Right code

a guest
May 22nd, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.57 KB | None | 0 0
  1. #include <cstdio>
  2. bool prs[1000001];
  3. int del[1000001];
  4. bool was[1000001];
  5. int n;
  6.  
  7. int main() {
  8. scanf_s("%d", &n);
  9. int x = 0;
  10. prs[1] = true;
  11. int max = 1000000;
  12. for (int i = 2; i <= max; i++) {
  13. if (!was[i]) {
  14. was[i] = true;
  15. prs[i] = true;
  16. for (int k = 2 * i; k <= max; k += i) {
  17. if (!was[k]) del[k] = i;
  18. was[k] = true;
  19. prs[k] = false;
  20. }
  21. }
  22. }
  23. for (int i = 0; i < n; ++i) {
  24. scanf_s("%d", &x);
  25. if (!prs[x]) {
  26. while (!prs[x]) {
  27. printf("%d ", del[x]);
  28. x /= del[x];
  29. }
  30. }
  31. if (x > 1) printf("%d\n", x);
  32. }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement