题目传送门:https://www.luogu.org/problemnew/show/P1082
题意:
求关于 x 的同余方程 ax≡1(mod b)的最小正整数解。
思路:
ax≡1(mod b)
ax mod b=1
ax-by=1
用扩展欧几里得即可。
代码:
#include<cstdio> int a,b,x,y; int gcd(int x,int y) { return !y?x:gcd(y,x%y); } int exgcd(int a,int b,int &x,int &y) { if(!b) { x=1; y=0; return a; } int tmp=exgcd(b,a%b,y,x); y-=a/b*x; return tmp; } int main() { scanf("%d %d",&a,&b); exgcd(a,b,x,y); printf("%d",(x+b)%b); }