Submission

Status:
PPPPPPPPPP

Score: 100

User: Sense143

Problemset: แยกตัวประกอบ

Language: cpp

Time: 0.002 second

Submitted On: 2024-09-25 14:25:18

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
void primeFactors(int n) {
    map<int, int> factors;  
    while (n % 2 == 0) {
        factors[2]++;
        n /= 2;
    }  
    for (int i = 3; i <= sqrt(n); i += 2) {
        while (n % i == 0) {
            factors[i]++;
            n /= i;
        }
    }
    if (n > 1) {
        factors[n]++;
    }
    for (auto it = factors.begin(); it != factors.end(); ++it) {
        cout << it->first << "^" << it->second;
        if (next(it) != factors.end()) {
            cout << " ";
        }
    }
}
int main() {
    ios::sync_with_stdio(false); cin.tie(0);
    int number; cin >> number;
    primeFactors(number);
    return 0;
}