Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- bool prs[1000001];
- int del[1000001];
- bool was[1000001];
- int n;
- int main() {
- scanf_s("%d", &n);
- int x = 0;
- prs[1] = true;
- int max = 1000000;
- for (int i = 2; i <= max; i++) {
- if (!was[i]) {
- was[i] = true;
- prs[i] = true;
- for (int k = 2 * i; k <= max; k += i) {
- if (!was[k]) del[k] = i;
- was[k] = true;
- prs[k] = false;
- }
- }
- }
- for (int i = 0; i < n; ++i) {
- scanf_s("%d", &x);
- if (!prs[x]) {
- while (!prs[x]) {
- printf("%d ", del[x]);
- x /= del[x];
- }
- }
- if (x > 1) printf("%d\n", x);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement