📜  c++代码示例中数字的素数分解

📅  最后修改于: 2022-03-11 14:44:51.872000             🧑  作者: Mango

代码示例1
// Function that returns a vector containing all the prime factors of n (25 --> 5, 5)
vector prime_factorisation(long long n)
{
    //spf is smallest prime factor
    map spf;
    vector ans(0);
    for(long long i = 2; i <= n; i++) spf[i] = i;

    for (long long i = 2; i <= n; i++)
        if (spf[i] == i)
            for (long long j = i * i; j <= n; j += i)
                if (spf[j] == j)
                    spf[j] = i;

    while (n != 1)
    {
        ans.push_back(spf[n]);
        n /= spf[n];
    }
    return ans;
}