时间限制:1秒
空间限制:128M
有一个特别大的整数 X X X,保证它一定可以被 Y Y Y整除,现在给定整数 n ( n = X m o d 9973 ) n(n=Xmod9973) n(n=Xmod9973),数据保证 g c d ( Y , 9973 ) = 1 gcd(Y,9973)=1 gcd(Y,9973)=1。
一行包含两个整数n,Yn,Y
其中: 0 < = n < 99730 0<=n<99730 0<=n<99730, 1 < = Y < = 1 0 9 1<=Y<=10^9 1<=Y<=109, g c d ( Y , 9973 ) = 1 gcd(Y,9973)=1 gcd(Y,9973)=1
一行输出 (X/Y)(X/Y)%9973
87 123456789
6060

这道题看懂之后也不难。
既然是对9973取模,那么答案只有9973种。
因此,我们可以直接从0到9972模拟,X/Y并取模后的值ans
如果ans * Y 和 n 关于9973同余,那么ans就是答案
/*
* @Author: LetMeFly
* @Date: 2022-09-28 20:42:02
* @LastEditors: LetMeFly
* @LastEditTime: 2022-09-28 20:46:11
*/
#include
using namespace std;
#define mem(a) memset(a, 0, sizeof(a))
#define dbg(x) cout << #x << " = " << x << endl
#define fi(i, l, r) for (int i = l; i < r; i++)
#define cd(a) scanf("%d", &a)
typedef long long ll;
const ll MOD = 9973;
int main() {
ll n, y;
cin >> n >> y;
for (ll ans = 0; ans < MOD; ans++) {
if ((ans * y) % MOD == n) {
cout << ans << endl;
}
}
return 0;
}
虽然代码可以复制,但最好还是自己理解后再敲哦
原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/127097898