Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Apimuk
Problemset: แยกตัวประกอบ
Language: cpp
Time: 0.123 second
Submitted On: 2025-10-25 22:59:45
#include<bits/stdc++.h>
using namespace std;
bool isprime(int n){
if (n== 2 || n==3)return true;
if(n<=1) return false;
if(n%2==0 || n%3==0) return false;
if(n==5) return true;
for(int i = 6 ;i*i <= n ; i++){
if(n%i == 0) return false;
}
return true;
}
int main(){
map<int , int > val;
int n;
cin >> n;
while(true){
if(n==1){
break;
}
for(int i = 2 ; i<= n ; i++){
if(n%i == 0){
if(isprime(i)){
val[i]++;
}
n /=i;
break;
}
}
}
for(auto v : val){
cout<< v.first << '^' << v.second << ' ' ;
}
}