(1)一个大于1的正整数N,如果它的标准分解式为:
![](https://gss3.bdstatic.com/7Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D124/sign=ae84eec8b4fd5266a32b38169f189799/f703738da97739129c546742fa198618367ae2a7.jpg)
,那么它的正因数个数为
![](https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D238/sign=d7c6a19a9c510fb37c197094e133c893/b151f8198618367aebbf90fe2c738bd4b31ce5db.jpg)
代码实现:
for(i = 0; i < cnt && prime[i] * prime[i] <= n; i++) { cnt2 = 0; while(n % prime[i] == 0) { n /= prime[i]; cnt2++; } if(cnt2) d[cnt1] = prime[i], mi[cnt1++] = cnt2; } if(n != 1) d[cnt1] = n, mi[cnt1++] = 1;
(2) 它的全体正因数之和为