码蹄集 - 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的主要内容,如果未能解决你的问题,请参考以下文章

码蹄集 - MT3111· 赋值

算法竞赛入门码蹄集新手村600题(MT1501-1550)

算法竞赛入门码蹄集新手村600题(MT1401-1450)

算法竞赛入门码蹄集新手村600题(MT1201-1250)

算法竞赛入门码蹄集新手村600题(MT1551-1600)

算法竞赛入门码蹄集新手村600题(MT1351-1400)