Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- const int N = 1e6 + 7;
- int pr[N];
- vector <int> primeFactorization(int x) {
- vector <int> v;
- for (int i = 2; i <= x; i++) {
- while (x % i == 0) {
- v.push_back(i);
- x /= i;
- }
- }
- return v;
- }
- vector <int> primeFactorization2(int x) {
- vector <int> v;
- for (int i = 2; i * i <= x; i++) {
- while (x % i == 0) {
- v.push_back(i);
- x /= i;
- }
- }
- if (x > 1) {
- v.push_back(x);
- }
- return v;
- }
- vector <int> primeFactorization3(int x) {
- vector <int> v;
- while (x > 1) {
- int p = pr[x];
- v.push_back(p);
- x = x / p;
- }
- return v;
- }
- int main(){
- for (int i = 2; i < N; i++) {
- if (pr[i] == 0) {
- pr[i] = i;
- for (int j = i + i; j < N; j = j + i) {
- if (pr[j] == 0)
- pr[j] = i;
- }
- }
- }
- int x;
- cin >> x;
- vector <int> v = primeFactorization3(x);
- for (int x : v) {
- cout << x << " ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement