约数
一.概念
约数,又称因数。整数a除以整数b(b≠0) 除得的商正好是整数而没有余数,我们就说a能被b整除,或b能整除a。a称为b的倍数,b称为a的约数。
二.性质
1.整数唯一分解
1)定义
对于任意一个正整数N,都有 N=p1c1*p2c2...pmcm,其中p为质数。
2)正约数集合
={p1b1*p2b2*...pmbm|0<=bi<=ci}
3)正约数的和
f(n)=(p1^0+p1^1+p1^2+…p1^a1)(p2^0+p2^1+p2^2+…p2^a2)…(pk^0+pk^1+pk^2+…pk^ak)
4)正约数的个数
=(c1+1)(c2+1)...(cm+1)
三.算法
1.正约数集合
1)试除法。一个一个试看能否被整除。推论:N的约数个数最多为2√N个
2.1~N中所有数字的正约数
1)试除
2)基本推论:i一定是i的倍数的约数
for(int i=1;i<=n;++i){ for(int j=1;j<=n/i;++j){ fac[i*j].push_back(i); } }
时间复杂度NlnN
3)例题1 反质数 题解
例题2 余数之和 题解
欧拉函数
一.概念
对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(因此φ(1)=1)。此函数以其首名研究者欧拉命名(Euler's totient function)
二.性质
1)求欧拉函数
(其中p1, p2……pn为x的所有质因数,x是不为0的整数)
2)推导欧拉函数
对于素数p
当p|n时 φ(p*n)=φ(n)*p
否则 φ(p*n)=φ(n)*(p-1)
3)φ(p)=p-1 p为素数
来源:https://www.cnblogs.com/clockwhite/p/12039044.html