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<iostream>
#include<stdio.h>
#include<string.h>
#include<vector>
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;
}
来源:https://www.cnblogs.com/helman/p/11352437.html