算术基本定理(唯一分解定理)
应用
- 分解质因数
int cnt,p[N],a[N]; void div(ll n) { int cnt = 0; for(int i = 2;i*i <= n; ++i) { if(n%i == 0) { p[++cnt] = i; while(n%i == 0) { n /= i,++a[cnt]; } } } if(n > 1) { p[++cnt] = n; ++a[cnt]; } }
求约数个数
约数个数函数
\[d(n) = \prod (a_i+1)\]求约数和
约数和函数
\[\sigma(n) = \prod(\sum_{j = 0}^{a_i}p^j) = \prod \frac{1-p_i^{a_i+1}}{1-p_i}\]