随笔 - 188  文章 - 0  评论 - 59  阅读 - 7707

扩展欧几里得和乘法逆元,欧拉函数 知识点

一。欧拉函数:1.通项公式 fai(n)=n*(1-1/pi)      求一个数的互质的数的个数

     2 当p为素数     

https://www.cnblogs.com/kuangbiaopilihu/p/12921745.html#433-%E7%BA%BF%E6%80%A7%E6%B1%82%E9%80%86%E5%85%83

fai(p)=p-1 

fai(p^k)=p^k-p^(k-1)   设数枚举t*p加减

若n%p=0     fai(n*p)=fai(n)*p     用通项公式化简,pi是相同的

若n%p!=0    fai(n*p)=fai(n-1)*(p-1)  套通项公式,化简就行,p只能是

质数,不然就会有其他质因数,就不具有规律了

    3 gcd(a,b)=1时,fai(ab)=fai(a)*fai(b)

质因数:都不包含1,质数包含自己

与n互质的数:包含1,不包含自己(最大公因数是1) 

void oulafai(int a)//求一个数的互质的数的个数
{
int e=(int)sqrt(e+0.5);int ans=a;
_f(i,2,e)
{
if(a%i==0)
{
ans=ans/(i)*(i-1);
while(a%i==0)a/=i;
}
}
if(a>1)ans=ans/(a)*(a-1);
return ans;
}

求1--n所有的,用线性筛法求素数

在循环prime[],加上fai[prime[i]]=prime[i]-1

循环筛素数,加上

if(i%prime[cnt]==0)fai[i*prime[cnt]]=prime[cnt]*fai[i]

else fai[]=(prime[cnt]-1)*fai[i]

二。

费马小定理

要求:p是素数,p和a互质  {素数模下指数同余}

性质:a^(p-1)  三等号  1(mod  p)

欧拉定理

要求:gcd(a,p)=1

性质:a^(fai(p))三1(mod  p)//特例p是质数就是费马

拓展欧拉定理

和a^b,指数可以再mod一个数

三。最大公约数

1.辗转相除法求两个数最大公约数

gcd(a,b)=gcd(b,a%b)

void gcd(int x,int y)
{
int t=x%y;
while(t)
{
x=y,y=t,t=x%y;
}
return x;
}//余数为0,mod数就是最大公约数

lcm(a,b)*gcd(a,b)=a*b//就是乘起来恰好构成这两个数

四。求一组整数解

int jfc(int a,int b,int& x,int& y)//求解ax+by=1 x1=y2,y1=x2-a/b*y2 ,顺便算一下最大公约数
{
if(b==0)
{
x=1,y=0;return a;//就是最大公约数
}
int ret=jfc(b,a%b,x,y);
int t=x;
x=y;
y=t-a/b*y;
return ret;
}

如果让结果满足一些要求,

ax+by=c

先ax+by=1,

x=x0+tA

y=y0+tB

A=-b/gcd(a,b)

B=a/gcd(a,b)  t是正整数

拓展总结:ax+by=c
有解的情况:c  mod  gcd(a,b)==0
如果要求x的最小整数解
用 ( (x/gcd(a,b)*c)mod  (y/gcd(a,b))+y/gcd(a,b)   )mod  (l/gcd)就可以
       特殊解              最小解       防止负数          最小保证

如果要求x,y都大于0并且x最小情况下y最小

这么写就可以:

(这里还加了一个就是 我要求by-ax=c,先求出ax+by=c,然后真正的解是-x,y  ,所以x*-1,然后你往上调整解的时候,应该让+的成立,所以系数a也要变成负的)

 

x*=-1,a*=-1;
	while(x<0||y<0){
		x+=b/ans;
		y-=a/ans;
	}

 

同余:a和b  mod  m  余数相同,则a三b(mod m)

五。乘法逆元


拓:欧拉定理:gcd(a,p)==1

return  qpow(a,fai(p)-1,p)

way2:拓展欧几里得定理:gcd(a,p)==1

a*x mod p=1    a*x=b*y+1

a*x+b*y=1求得x整数解

way3:求连续逆元

void ny(int n,int p)
{
_f(i,2,n)
{
ny[i]=(long long)(p-p/i))*ny[p%i]%p;//非负数
}
}

 

posted on   HZOI-曹蓉  阅读(248)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示