Demonstration

Enter n: 1234567890

2
3^2
5
3607
3803

Source Code

#include <iostream>

long long n;

void primeCalculator() {
    int expo = 0;

    // Even Prime
    while (n % 2 == 0) {
        n /= 2;
        expo++;
    }
    if (expo > 1) {
        std::cout << "2^" << expo << std::endl;
    } else if (expo == 1) {
        std::cout << "2\n";
    }

    // Odd Prime < Square Root of "n"
    for (long long i = 3; i*i <= n; i += 2) {
        expo = 0;

        while (n % i == 0) {
            n /= i;
            expo++;
        }
        if (expo > 1) {
            std::cout << i << "^" << expo << std::endl;
        } else if (expo == 1) {
            std::cout << i << std::endl;
        }
    }

    // Last Prime
    if (n > 1) {
        std::cout << n << std::endl;
    }
}

int main() {
    std::cout << "Enter n: ";
    std::cin >> n;
    std::cout << std::endl;

    primeCalculator();

    return 0;
}