定义:任何一个大于1的自然数N,如果N不为质数,那么N可以分解成有限个质数的乘积,并且在不计次序的情况下,这种分解
方式是唯一的。
例如60可以分解为:
数学公式描述
( & is prime number and ri>=0)
代码实现:
map <int , int > prime_factor (int n){
map <int , int >ans ;
for(int i = 2; i * i <= n; i ++){
while (n % i == 0) {
++ ans [i];
n /= i;
}
}
if(n != 1) ans [n] = 1;
return ans ;
}
如何求数N有几个因子?
根据算数基本定理:
根据排列组合得到结果:
ans = (1 + r1) * (1 + r2) * (1 + r3) *……* (1 + rn);
如何求数N的所有因子之和?
根据算数基本定理:
根据积性函数:
求GCD(X, Y)和LCM(X, Y)
根据算数基本定理:
根据GCD的定义:
根据LCM的定义:
扫描二维码关注公众号,回复:
3119577 查看本文章