Факторизация — разложение числа на простые множители.
include <bits/stdc++.h>
using namespace std;
vector factors;
bool is_prime(int x) {
//эта функция проверяет, является ли введенное число простым
for (int i = 2; i <= sqrt(x); i++) {
if (x % i == 0) {
return false;
}
}
return true;
}
void factorize(int x) {
//эта функция, и есть наша факторизация
for (int i=2; i<=sqrt(x); i++) {
while (x%i==0) {
factors.push_back(i);
x/=i;
}
}
if (x!=1) {
factors.push_back(x);
}
}
int main () {
int n;
cin>>n;
bool ok=is_prime(n);
if (ok==false) {
factorize(n);
for(int i = 0; i < factors.size(); i++) {
//выводим разложение числа на простые множители
cout << factors[i] << ' ';
}
cout << endl;
}else {
//число является простым
cout << -1 << endl;
}
}