/*
nを素因数分解した結果を返す
ex)
720=(2^4)*(3^2)*(5^1)
[(2,4),(3,2),(5,1)]
*/
template <typename T>
vector<pair<T, T>> prime_factor(T n)
{
    vector<pair<T, T>> ret;
    T now = n;
    for (T i = 2; i * i <= n; i++)
    {
        T count = 0;
        while (now % i == 0)
        {
            now /= i;
            count++;
        }
        if (count != 0)
            ret.push_back(make_pair(i, count));
    }
    if (now != 1)
        ret.push_back(make_pair(now, 1));
    return ret;
}
    
    
© 2020 kacho65535