Submission
Status:
P---PP--P-
Score: 40
User: Cmoss9
Problemset: แยกตัวประกอบ
Language: cpp
Time: 0.003 second
Submitted On: 2024-11-13 19:33:43
#include <bits/stdc++.h>
using namespace std;
int main () {
ios_base::sync_with_stdio(false);cin.tie(NULL);
long long n;
cin >> n;
int index = 0;
vector<long long> primearr;
for (int i = 2; i < pow(n, 0.5); 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] << " ";
}
}
}