逆的概念:
ax≡1(mod n)的解x称为a关于膜n的逆。
1 int mod(int x,int n){ 2 return (x%n+n)%n; 3 } 4 int inv(int a,int n){ 5 int d,x,y; 6 gcd(a,n,d,x,y); 7 return d == 1 ? mod (x,n) : -1; 8 }
返回-1代表逆不存在,否则返回一个0~n-1之间的逆。