Submission

Status:
PPPPTxPPTx

Score: 60

User: devilpoohs

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

Language: cpp

Time: 1.085 second

Submitted On: 2024-11-10 22:00:50

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,i=2;
    int count=0;
    cin >> n;
    vector<bool> vec(n,true);
    vector<int> hero;
    for(int i=2;i<=sqrt(n);i++){
        for(int j=i*i;j<=n;j+=i){
            vec[j]=false;
        }
    }
    for(int i=2;i<=n;i++){
        if(vec[i]){
            hero.push_back(i);
        }
    }
    vector<int>::iterator it=hero.begin();
    while(n!=1){
        if(n%*it==0){
            // cout << i <<' ' ;
            n/=*it ;
            count++;
            if(n==1){
                cout << *it<<'^'<<count<<" ";
            }
        }else{
            if(count!=0){
                cout << *it<<'^'<<count<<" ";
            }
            count=0;
            it++; 
        }

    }
    return 0;
}