Submission
Status:
TPTTT-TT-T
Score: 10
User: K3
Problemset: แยกตัวประกอบ
Language: cpp
Time: 1.078 second
Submitted On: 2024-11-20 18:52:20
#include <bits/stdc++.h>
using namespace std;
bool isprime(int x) {
if (x <= 1) return false;
for (int i=2;i*i<=x;i++) {
if (x%i == 0) return false;
}
return true;
}
int main() {
int n; cin >> n;
vector<int> v;
for (int i=2;i<50000;i++) {
if(isprime(i)) {
v.push_back(i);
}
}
map<int,int> m;
while (n > 1) {
for (auto x : v) {
if (n%x == 0) {
m[x]++;
n /= x;
}
if (n == 1) break;
if (isprime(n)) {
m[n]++;
break;
}
}
}
for (auto x : m) {
cout << x.first << "^" << x.second << " ";
}
}