数论专题

一  同余

  同余不满足同除性

  所以在模P意义下的除法要用到乘法逆元(费马小定理,exgcd)

  费马小定理:如果 a,p 互质,那么 a^(p-1) ≡ 1 (mop)

例: 求 m^n%k (m,n,k均为长整型范围内自然数)

  将 n 二进制分解,放在数组 r 中,r[i]=1 表示有 m^i 这一项,用递推从小到大求出 m^i%k 的值存到数组 d 中

二  扩展欧几里得(exgcd)

  对于线性方程 ax+by=c ,有解的充要条件是 c%GCD(a,b)=0 (裴蜀定理)

  先求出 ax+by=GCD(a,b) 的以租借 x0,y0 ,再乘 c/GCD(a,b) ,最小整数解 x=(x0*c/GCD(a,b)%b+b)%b

  通解为x=x0+k∗b,y=y0+k∗a

  

  求最大公因数:辗转相除法  gcd(a,b)=gcd(b,a%b)

  最小公倍数:lcm(a,b) = a*b/gcd(a,b)

例题:洛谷P1290 (博弈论)  辗转相除法的应用

三  唯一分解定理

  A=(p1^k1)*(p2^k2)*(p3^k3)*(p4^k4)....*(pn^kn)  pi 均为素数

  从第一个素数开始不断取模,A%2=0时,cnt[2]++ , A/=2;   A%2≠0时,则A对下一个素数3不断取模,以此类推直到 A=1 为止

四  约数和公式

  对于 A=(p1^k1)*(p2^k2)*(p3^k3)*(p4^k4)....*(pn^kn)

  有 A 的所有因子之和为:

  S=(1+p1+p1^2+p1^3+...+p1^k1)*(1+p2+p2^2+p2^3+...+p2^k2)*...*(1+pn+pn^2+pn^3+...+pn^kn)

  求法: 

  1. 递归二分求等比数列 1+p1+p1^2+p1^3+...+p1^n

原文地址:https://www.cnblogs.com/tuchen/p/10348435.html