Submission

Status:

PPPTPPPPPT

Subtask/Task Score:

80/100

Score: 80

User: APNICHANAN

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

Language: cpp

Time: 1.094 second

Submitted On: 2025-10-09 16:00:00

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    long long n , c ;
    bool y = false ;
    cin >> n ;
    for (long long i = 2 ; i <= n ; i++){
        y = false ;
        c = 0 ;
        if (i % 2 == 1)
        for (long long j = 2 ; j <= sqrt(i) ; j++){
            if (i % j == 0){
                 y = true ;
                 break ;
            }
        }
        if (y == true || (i % 2 == 0 && i != 2))
            continue;
        
        while (true){
            if (n % i == 0)
                c++ , n/=i ;
            else
                break ;
        }
        if (c > 0)
            cout << i << "^" << c << " " ;
        if (n == 1)
            return 0 ;
    }
}