Submission

Status:
P-PTTTPPTT

Score: 40

User: Cmoss9

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

Language: cpp

Time: 1.084 second

Submitted On: 2024-11-12 21:01:40

#include <bits/stdc++.h>
using namespace std;
int main () {
    ios_base::sync_with_stdio(false);cin.tie(NULL);
    int n;
    cin >> n;
    int index = 0;
    vector<int> primearr;
    for (int i = 2; i < n; i++) {
        bool is_prime = true;
        for (int j = 2; j * j <= i; j++) {
            if (i % j == 0) {
                is_prime = false;
                break;
            }
        }
        if (is_prime) {
            primearr.push_back(i);
            index++;
        }
    }
    vector<int> primeusage(index, 0);

    index = 0;
    while (n > 1 && index < primearr.size()) {
        if (n % primearr[index] == 0) {
            n /= primearr[index];
            primeusage[index]++;
        } else {
            index++;
        }
    }

    for (int i = 0; i < primearr.size(); i++) {
        if (primeusage[i] > 0) {
            cout << primearr[i] << "^" << primeusage[i] << " ";
        }
    }
}