码蹄集 - MT3521 - X/Y
Posted Tisfy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了码蹄集 - MT3521 - X/Y相关的知识,希望对你有一定的参考价值。
传送门
X/Y
时间限制: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就是答案
AC代码
/*
* @Author: LetMeFly
* @Date: 2022-09-28 20:42:02
* @LastEditors: LetMeFly
* @LastEditTime: 2022-09-28 20:46:11
*/
#include <bits/stdc++.h>
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
以上是关于码蹄集 - MT3521 - X/Y的主要内容,如果未能解决你的问题,请参考以下文章