题目:求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。数据给出n和b 推导过程 A/B = K K = 9973*P + X A = 9973*Q + N 得: (9973*Q + N)/B = K = 9973*P + X 9973*Q = 9973*P*B + X*B - N 9973*(Q - P*B) = X*B - N ( X*B — N) %9973 = 0 也有看到用扩展欧几里得算法去做的 #include<iostream> using namespace std; int main() { int T; __int64 n, b; cin>>T; while (T--) { scanf("%I64d%I64d", &n, &b); for (int i = 0; i<9973; i++) { if ((b * i - n) % 9973 == 0) { cout<<i<<endl; break; } } } return 0; }