library

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

View the Project on GitHub komori3/library

:heavy_check_mark: factorize-trial-division (試し割りによる素因数分解)
(lib/factorize-trial-division.hpp)

概要

TBD

使い方

TBD

計算量

TBD

Verified with

Code

/**
 * @brief factorize-trial-division (試し割りによる素因数分解)
 * @docs docs/factorize-trial-division.md
 */
template<typename T = int>
std::map<T, int> factorize(T n) {
    std::map<T, int> factor_map;
    for (T i = 2; i * i <= n; i++) {
        while (!(n % i)) {
            factor_map[i]++; n /= i;
        }
    }
    if (n > 1) factor_map[n]++;
    return factor_map;
}
#line 1 "lib/factorize-trial-division.hpp"
/**
 * @brief factorize-trial-division (試し割りによる素因数分解)
 * @docs docs/factorize-trial-division.md
 */
template<typename T = int>
std::map<T, int> factorize(T n) {
    std::map<T, int> factor_map;
    for (T i = 2; i * i <= n; i++) {
        while (!(n % i)) {
            factor_map[i]++; n /= i;
        }
    }
    if (n > 1) factor_map[n]++;
    return factor_map;
}
Back to top page