标签:
费马小定理(Fermat Theory)是数论中的一个重要定理,其内容为: 假如p是质数,且Gcd(a,p)=1,那么 a(p-1) ≡1(mod p)。即:假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。
扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足贝祖等式: ax+by = gcd(a, b) =d(解一定存在,根据数论中的相关定理)。扩展欧几里德常用在求解模线性方程及方程组中。
1 int gcd(int a,int b,int &ar,int &br) 2 { 3 int x1,x2,x3; 4 int y1,y2,y3; 5 int t1,t2,t3; 6 if(0==a)//有一个数为0,就不存在乘法逆元 7 { 8 ar=0;br=0; 9 return b; 10 } 11 if(0==b) 12 { 13 ar=0;br=0; 14 return a; 15 } 16 x1=1;x2=0;x3=a; 17 y1=0;y2=1;y3=b; 18 int nk; 19 for(t3=x3%y3;t3!=0;t3=x3%y3) 20 { 21 k=x3/y3; 22 t2=x2-k*y2;t1=x1-k*y1; 23 x1=y1;x2=y2;x3=y3; 24 y1=t1;y2=t2;y3=t3; 25 } 26 if(y3==1)//有乘法逆元 27 { 28 ar=y2; 29 br=x1; 30 return 1; 31 } 32 else//公约数不为1,无乘法逆元 33 { 34 ar=0; 35 br=0; 36 return y3; 37 } 38 }
000
数学(1.费马定理 2.扩展欧几里德算法 3.莫比乌斯反演)
标签:
原文地址:http://www.cnblogs.com/henserlinda/p/4729217.html