题目链接

首先介绍两个定理。

整数唯一分解定理:任意正整数都有且只有一种方式写出素数因子的乘积表达式。

\(A=(p1k1 p2k2 ...... pnkn \)

求这些因子的代码如下

for(int i=2;i*i<=a;++i){
        if(!(a%i)){
            prime[++num]=i;
            while(!(a%i)){
                a/=i;
                sum[num]++;
            }
        }
    }
    if(a!=1){
        prime[++num]=a;
        sum[num]=1;
    }
唯一分解定理

相关文章: