定义
任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积N=P1^a1 P2^a2 P3^a3 …Pn^an,这里P1<P2<P3…<Pn均为质数,其中指数ai是正整数。这样的分解称为 N 的标准分解式。
模板
struct Node {
int p;
int ci;
} a[70] = {0};
int j;
void fenjie(int n) {
j = 0;
int k = sqrt(n);//这里可能有问题
for (int i = 2; i <= k; i++) {
if (n % i == 0) { //n有因子i
a[j].p = i;
while (n % i == 0) //统计i的次数
a[j].ci++, n /= i;
j++;
}
}
if (n > k) //n的大于根号k的因子只有1个
a[j].p = n, a[j].ci = 1, j++;
}
题目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TQOF8Kew-1583633386662)(http://106.15.192.117:233/upload/2020/2/%E6%89%B9%E6%B3%A8%202020-02-06%20212529-3e27d50ad56447139794f3eb7ea71f66.jpg)]
<