Problem Description
要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。
【题目分析】
其实就是用拓展的欧几里得算法求一下乘法逆元就可以了。
【代码】
#include <cstdio>
inline void exgcd(int a,int b,int &x,int &y)
{
if (!b) {x=1,y=0;return ;}
exgcd(b,a%b,x,y);
int t=x; x=y; y=t-a/b*y;
}
int main()
{
int T,x,y;
scanf("%d",&T);
while (T--)
{
int n,b;
scanf("%d%d",&n,&b);
exgcd(b,9973,x,y);
printf("%d\n",((n*x)%9973+9973)%9973);
}
}