HDU 1576 A/B
简单扩展欧几里得
1 #include <cstdio> 2 using namespace std; 3 4 void exgcd(int a,int b,int & d,int & x,int & y){ 5 if (b==0) {x=1;y=0;d=a;return;} 6 exgcd(b,a%b,d,y,x); 7 y-=x*(a/b); 8 } 9 10 int main(){ 11 12 int t,n,b,ans,d,p; 13 scanf("%d",&t); 14 for (int i=0;i<t;i++){ 15 scanf("%d%d",&n,&b); 16 exgcd(b,9973,d,ans,p); 17 ans=(ans*n%9973+9973)%9973; 18 printf("%d\n",ans); 19 } 20 }