cpplib

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

View the Project on GitHub morioprog/cpplib

:heavy_check_mark: Prime Factor (素因数分解)
(math/prime/prime_factor.hpp)

概要

素因数分解する.

計算量

$O(\sqrt{n})$

使用例

Verified with

Code

/**
 * @brief Prime Factor (素因数分解)
 * @docs docs/math/prime/prime_factor.md
 */

map<long long, int> prime_factor(long long n) {
    map<long long, int> ret;
    for (long long i = 2; i * i <= n; ++i) {
        while (n % i == 0) {
            ++ret[i];
            n /= i;
        }
    }
    if (n != 1) ret[n] = 1;
    return ret;
}
#line 1 "math/prime/prime_factor.hpp"
/**
 * @brief Prime Factor (素因数分解)
 * @docs docs/math/prime/prime_factor.md
 */

map<long long, int> prime_factor(long long n) {
    map<long long, int> ret;
    for (long long i = 2; i * i <= n; ++i) {
        while (n % i == 0) {
            ++ret[i];
            n /= i;
        }
    }
    if (n != 1) ret[n] = 1;
    return ret;
}
Back to top page