要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。
Input
数据的第一行是一个T,表示有T组数据。
每组数据有两个数n(0 <= n < 9973)和B(1 <= B <= 10^9)。
Output
对应每组数据输出(A/B)%9973。
Sample Input
2
1000 53
87 123456789
Sample Output
7922
6060
问题简述:没什么好说的,就是求(A/B)%9973的值
问题思路:
A = n + k1 * 9973;
(A / B) = i + k2 * 9973;
A = n + k1 * 9973 = B * i + B * k2 * 9973;
k1 * 9973 - B * k2 * 9973 = B * i - n;
(k1 * 9973) % 9973 == (B * k2 * 9973) % 9973 == 0—— > (B * i - n) % 9973 == 0
用循环求出 i 即可
#include<iostream>
int main() {
long long int t, n, b;
std::cin >> t;
while (t--) {
std::cin >> n >> b;
for (int i = 0; i < 9973; i++) {
if ((i*b - n) % 9973 == 0) {
std::cout << i << std::endl;
break;
}
}
}
return 0;
}