算术基本定理:任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积
N = p1^a1 * p2^a2 * p3^a3 * ... * pn^an
(其中p1、p2、... pn为N的因子,a1、a2、... 、an分别为因子的指数)
这样的分解称为 N 的标准分解式
应用:
(1)一个大于1的正整数N,如果它的标准分解式为:
N = p1^a1 * p2^a2 * p3^a3 * ... * pn^an
(2)N的因子个数 M(N)= (1 + a1)*(1 + a2)*(1 + a3)*...*(1 + an);
(3)它的全体正因数之和为
A(N) = (1 + p1 + p1^2 + p1^3 + ... + p1^n)*(1 + p2 + p2^2 +p2^3 +...+p2^n)*...
*(1 + pn + pn^2 + pn^3 + ... + pn^n);
如果A(N) = 2N,那么N称为完全数
int fac[N][N], j; //fac[i][0]表示第i个因子是什么,fac[i][1]表示第i个这个因子的个数(即唯一分解定理中该因子的指数) void fact(int n) { j = 0;//j表示n的因子个数 memset(fac, 0, sizeof(fac)); for(int i = 2 ; i <= n ; i++) { if(n % i == 0) { fac[j][0] = i; while(n % i == 0) { n /= i; fac[j][1]++; } j++; } } if(n > 1) { fac[j][0] = n; fac[j][1] = 1; } }//找n分解出来的因子,及其因子的指数
本文深入探讨了算术基本定理,解释了任何大于1的自然数可以唯一分解成有限个质数的乘积,并介绍了如何通过质数分解计算一个数的因子个数及所有正因数之和。特别地,当所有正因数之和等于该数的两倍时,该数被称为完全数。
及应用&spm=1001.2101.3001.5002&articleId=101639234&d=1&t=3&u=dac8a4230d16452297e754ce9ad7d8b6)

被折叠的 条评论
为什么被折叠?



