题目描述
求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。(保证有解)
该方程等价于=>a* x-b* y=1 => a* x+b* y=1 (1/GCD(a,b)==0,即a,b互质)
#include
#include
#define LL long long
using namespace std;
void e_gcd(int a,int b,int &x,int &y)
{
if(b==0)
{
x=1;
y=0;
return;
}
e_gcd(b,a%b,x,y);
int d=x;
x=y;
y=d-a/b*y;
}
int main()
{
int a,b,x,y;
scanf("%d%d",&a,&b);
e_gcd(a,b,x,y);
printf("%d",(x%b+b)%b);
return 0;
}