[NOIp2012提高组]同余方程
OJ题号:
洛谷1082
思路:
逆元模板。
1 #include<cstdio> 2 #include<cctype> 3 inline int getint() { 4 char ch; 5 while(!isdigit(ch=getchar())); 6 int x=ch^'0'; 7 while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0'); 8 return x; 9 } 10 int exgcd(const int a,const int b,int &x,int &y) { 11 if(!b) { 12 x=1; 13 y=0; 14 return a; 15 } 16 int d=exgcd(b,a%b,y,x); 17 y-=a/b*x; 18 return d; 19 } 20 int main() { 21 int a=getint(),b=getint(); 22 int x,y; 23 exgcd(a,b,x,y); 24 printf("%d\n",(x+b)%b); 25 return 0; 26 }