A/B≡x mod 9973
要我们求出这个x
转换式子就是 A/B=x+9973*k
A/B=x+9973*k
因为B整除A,所以A=B*X+9973*k*B
取模得到 A-B*x≡0 mod 9973 => n-B*x≡0
x显然在0-9972,遍历一下就能找到最小的x了
题目代码
#include#include #include #include using namespace std;const int maxn=1e8+100;typedef long long LL;int t,n;LL b;int main(){ scanf("%d",&t); while(t--){ scanf("%d%lld",&n,&b); int x; for(x=0;x<9973;x++){ LL t=b*x-n; if(t%9973==0)break; } printf("%d\n",x); } return 0;}