问题描述
已知整数 a 和 b,求关于 x 的同余方程 ax≡1(modb) 的最小正整数解。
输入描述
输入一行,输入两个整数a,b(2≤a,b≤2×10^9 )。
输出描述
输出一行,输出一个整数,即同余方程的最小正整数解。输入数据保证一定有解。
AC代码
#include<iostream>
using namespace std;
int exgcd(int a,int b,int &x,int &y){
if(b==0){
x = 1;
y = 0;
return a;
}
int r = exgcd(b,a%b,x,y);
int t = x;
x = y;
y = t- a/b*y;
}
int main(){
int a,b,x,y;
cin>>a>>b;
exgcd(a,b,x,y);
cout<<(x%b+b)%b;
return 0;
}