分解质因数
唯一分解定理
任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积 N = p 1 c 1 ∗ p 2 c 2 ∗ . . . ∗ p k c k N = p_1^{c1} * p_2^{c2} * ... *p_k^{ck} N=p1c1∗p2c2∗...∗pkck,这里P1<P2<P3…<Pn均为质数,其中指数ai是正整数。这样的分解称为 N 的标准分解式.
如果
N
=
p
1
c
1
∗
p
2
c
2
∗
.
.
.
∗
p
k
c
k
N = p_1^{c1} * p_2^{c2} * ... *p_k^{ck}
N=p1c1∗p2c2∗...∗pkck
约数个数:
(
c
1
+
1
)
∗
(
c
2
+
1
)
∗
.
.
.
∗
(
c
k
+
1
)
(c_1 + 1) * (c_2 + 1) * ... * (c_k + 1)
(c1+1)∗(c2+1)∗...∗(ck+1)
约数之和:
(
p
1
0
+
p
1
1
+
.
.
.
+
p
1
c
1
)
∗
.
.
.
∗
(
p
k
0
+
p
k
1
+
.
.
.
+
p
k
c
k
)
(p_1^0 + p_1^1 + ... + p_1^{c_1}) * ... * (p_k^0 + p_k^1 + ... + p_k^{c_k})
(p10+p11+...+p1c1)∗...∗(pk0+pk1+...+pkck)
for(ll i=2;i*i<=n;i++)
{
while(n%i==0)
{
a[c++]=i;
n/=i;
}
}
if(n>1)a[c++]=n;