cp_library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub downerkei/cp_library

:heavy_check_mark: math/factorize.hpp

Verified with

Code

vector<pair<long long, int>> factorize(long long N) {
    assert(0 < N);
    vector<pair<long long, int>> ret;
    for(long long p = 2; p * p <= N; p++) {
        if(N % p != 0) continue;
        int e = 0;
        while(N % p == 0) {
            N /= p;
            e++;
        }
        ret.push_back({p, e});
    }
    if(N != 1) ret.push_back({N, 1});
    return ret;
}
#line 1 "math/factorize.hpp"
vector<pair<long long, int>> factorize(long long N) {
    assert(0 < N);
    vector<pair<long long, int>> ret;
    for(long long p = 2; p * p <= N; p++) {
        if(N % p != 0) continue;
        int e = 0;
        while(N % p == 0) {
            N /= p;
            e++;
        }
        ret.push_back({p, e});
    }
    if(N != 1) ret.push_back({N, 1});
    return ret;
}
Back to top page