A/B(HDU1576)(扩展欧几里得)

HDU - 1576(费马小定理求逆元) A/B 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1576 题目: Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9278    Accepted Submission(s)... 阅读详情

A/B

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2017    Accepted Submission(s): 1469


Problem Description
要求(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

题目的关键就是根据题意将条件转化出不定方程形式然后直接套用模板就可以


由题意n=A%9973

n=A-A/9973*9973

又因为A/B=X;

A=n+A/9973*9973=BX;

所以得到 BX-9973y=n;

即求x即可

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
typedef long long ll;
ll ex_gcd(ll a,ll b,ll &x,ll &y){
    if(b == 0){
        x = 1;
        y = 0;
        return a;
    }
    ll r = ex_gcd(b,a%b,y,x);
    y -= x*(a/b);
    return r;
}//扩展欧几里得模板
int main(){
    ll n,B,a,gcd,x,y;
    scanf("%lld",&a);
    while(a--){
        scanf("%lld%lld",&n,&B);
        gcd = ex_gcd(B,9973,x,y);//关键在于转化式子,得到不定方程形式Bx-9973y=n
        x *= n;
        x = x%9973;//求最小正整数模板
        if(x<0)
            x += 9973;
        printf("%lld\n",x);
    }
    return 0;
}



【网络】PFC背景和原理 、文档(DCB=PFC + ETS,DCBX=DCB扩展) 目录 零、背景 一、PFC 1.概述 2.报文格式 3.工作机制 二、ETS 产生原因 基本原理 优先级组的调度 优先级的调度 三、DCBX 产生原因 基本原理 DCBX TLV介绍 五、PFC 拥塞研究(文档收集) 六、DC-QCN算法 (网络工程师必会) 7.1 α更新 7.2 降速 7.3 提速 8.总结 ... 阅读详情

相关推荐

在abaqus中利用point-based 来快捷定义螺栓连接

abaqus中可以通过point-based方式定义连接点的位置,并对连接方式进行定义,可以进行螺栓连接的模拟。 可以通过逐点输入坐标或导入外部的坐标位置 也可以通过阵列的方式定义点 定义完点后就利用create fasteners,选择point-based,选取刚才创建好的点阵列,然后定义连接的属性,如下图 定义connector section时,类型选择translator,相当于只有1方向可以动,定义弹性模量以及破坏准则。 案例操作 假如有两个板,通过...

fiber_tape的博客 7335

寒假训练HDU-1576题解

问题链接:HDU-1576 思路 这道题可以用欧几里得扩展来算,但是看到网上的题解有一个方法感觉挺简单的,题解作者叫试探法。和欧几里得扩展一样,也是求方程,然后求解。根据题意,输入的n=A%9973(没有输入A),A%B=0(A必能被B整除),B与9973互素(GCD(B,9973)=1)。设x=(A/B)%9973(x是最终想计算的值,满足0&lt;=x&lt;=9972),则9973k+x=A...

weixin_43970556的博客 269

恭喜,恭喜,iMouse爱鼠XP版全面发布测试,苹果手机自动化测试必须

电脑控制苹果手机,免越狱,免签名,自动化测试

qq_41057894的博客 1061

HDU 1576 (乘法逆元)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1576 题目大意:求(A/B)mod 9973。但是给出的A是mod形式n,n=A%9973。 解题思路: 两种思路,一种从乘法逆元角度,另一种从扩展GCD推公式角度。 ①乘法逆元: 先来看下逆元和乘法逆元的关系,对于A*X=B,有X=A-1*B,A-1就是普通的逆元了,在这里就是倒数。 ...

weixin_33827965的博客 187

Windows下ArduPilot SITL仿真环境搭建与QGC地面站联调全攻略

软件在环仿真(SITL)是无人机开发中的关键一环,它通过将飞控固件运行在PC上,用数学模型模拟传感器数据,实现无硬件依赖的飞行逻辑验证。这项技术不仅降低了试错成本,更为地面站开发、自动化测试和任务规划提供了安全可控的试验场。在工程实践中,MAVLink协议作为飞控与地面站之间的通信桥梁,贯穿仿真、遥测与指令控制全程。结合QGroundControl(QGC)这一主流地面站,开发者可以直观地观察飞行状态、规划航点并记录日志。本文以Windows原生环境为例,详细介绍ArduPilot SITL的搭建流程、MA

weixin_31858171的博客 316

手把手教你用scATAC-seq分析拟南芥根尖染色质可及性(附代码实战)

本文详细介绍了使用scATAC-seq技术分析拟南芥根尖染色质可及性的完整流程,涵盖从实验设计、数据质控、细胞分群到差异分析和多组学整合的实战步骤。通过具体的代码示例,帮助植物研究者掌握单细胞表观组学分析的核心方法,揭示细胞异质性和基因调控动态。

weixin_29291185的博客 265

[Java]HDU 1576 (费马小定理 + 扩展欧几里得)

思路: (A/B)%9937 = A*B-1 %9973. 这里的B-1 代表乘法逆元,而不是1/B. 乘法逆元:A除以一个数模P,等于A乘以这个数的乘法逆元模P。 所以我们只需要求解出B对于9973的乘法逆元B-1即可。 解法一:费马小定理求解乘法逆元 若a是一个整数,b是一个质数,那么 ab ≡ a(mod b) 或 ab-1≡1 (mod b) 由扩展欧几里得可以得出: 因为gcd(a,...

Tizzi的博客 992

Anylabeling与SAM协同:从智能标注到YOLO数据集构建的完整实践

本文详细介绍了Anylabeling与SAM协同标注的完整实践,从智能标注到YOLO数据集构建的全流程。通过结合SAM的自动分割能力和Anylabeling的交互式标注,显著提升标注效率,特别适合小样本、复杂形状和多类别标注场景。文章还提供了环境搭建、标注优化技巧以及YOLO格式转换的实用指南。

weixin_26873711的博客 460

HDU1576(扩展欧几里得算法)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1576 题目大意:见题目 解题思路:开始的时候,看到求(A/B)%9973感觉像是直接利用同余公式即可解决,回顾一下同余公式: (a+b)mod n = ((a mod n)+(b mod n))mod n (a-b)mod n = ((a mod n)-(b mod n) + n) mod

Tworld 1465

FISCO-BCOS配置及使用控制台

如果因为网络问题长时间无法下载,请尝试:curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh。为了可以更加方便快捷,所以HelloWorld合约已经被内置了,位于控制台下面的contracts/solidity/HelloWorld.sol。用于获取和设置name的值,合约代码如下。部署成功会返回合约地址。

qq_51562644的博客 831

C语言读取CSV文件的方法1

逗号分隔值文件格式(CSV),以纯文本形式存储表格数据,它是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。本文介绍利用C语言标准库中的一个字符串处理函数 strtok()来对CSV文件内容进行读取的基本方法

白马负金羁 1万+

hdu-1576 A/B解题报告(数论)(扩展欧几里得算法)

目录题目描述思路分析完整代码 题目描述 题目:https://vjudge.net/problem/HDU-1576 大概意思:要求的是A/B 但是A他就给了A%9973的值n,然后要求(A/B)%9973。。初看起来有点懵。 思路分析 其实,我们在纸上演算一下就是这样: 其中:n、B已知,x和k为未知数。是不是很眼熟呢?这就是二元一次不定方程啦。剩下的就是用欧几里得算法算出结果,记得取余就是了。...

nagisa2019的博客 293

RockChip Android14 修改LCD背光最大值

在调试LCD屏时时长会出现硬件不匹配,导致电流过大,屏幕发热严重。在不调整硬件的情况下,我们可以通过修改软件,降低LCD背光最大值来实现适配。我们都知道LCD屏背光是靠pwm来控制,一般来说最大值可以设置为255,针对上述问题,我们可以通过软件来降低该值,比如200,100等等。

qq_34968572的博客 631

HDU 1576 A/B(扩展欧几里得)

HDU 1576 Problem Description 要求(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

kitalekita的博客 285

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

HDU 1576 A/B 【带简单处理的扩展欧几里得】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1576 求解思路:从A一定是B的倍数入手,令A=k*9973+C,那么k*9973+C=tB,所以tB-k*9973=C,用扩展欧几里得求出最小的正t即是A/B,那么再去一次模就求得了解 AC代码: //HDU-1576 A/B //AC 2016-4-19 ...

babao9492的博客 120

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

hdu 1576 A/B

文章目录题目:题解:代码: hdu 1576 题目: 要求(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 O

qq_35975367的博客 444

HDU 1576 A/B (逆元求扩展欧几里得)

【题目链接】:click here~~ 【题目大意】: 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。 【思路】,此题有多种方法, 法一:逆元解决就可以了。 代码: /* * Problem: HDU No.1576 * Running time: 0MS * Complier: C

herongwei 的 BLOG 1181

HDU 1576 A/B 扩展欧几里得

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1576 思路:此处来自百度:设(A/B)%9973 = K, 则A/B = k + 9973x  (x未知), 因此A = kB + 9973xB, 又A%9973 = n, 所以kB%9973 = n,  故kB = n + 9973y (y未知) 故(k/n)B +(-y/n)*9973

弱智就要多努力 487

HDU 1576 扩展欧几里得&&暴力

HDU 1576 A - A Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,

DT2131 456

【A/B%m+扩展欧几里得】hdu 1576 A/B

hdu 1576 A/B http://acm.hdu.edu.cn/showproblem.php?pid=1576思路A/B%m经典问题,在(B,m)=1的情况下,转换为Bx+my = n ,扩展欧几里得得到最小正整数解即可,数论水题!参考代码 #include<iostream> #include<cstdio> #include<cstdlib> using namespace std;t

Hacker_vision 833

HDU 1576 A/B (扩展欧几里得应用)

题目链接:HDU 1576 A/B 中文题, 思路:设X=(A/B)%9973。A/B=k_1*9973+X。A=B*k_1*9973+x*B。n=A%9973,A=k_2*9973+n。k_2*9973+n=B*k_1*9973+x*B B*X ≡ n mod 9973 就是转化为 求B关于n模9973 的逆元。gcd(B,9973) = 1 得知一定有解。 AC代码: #in

n-1 824

【扩展欧几里德】HDU 1576 A/B

HDU 1576 A/B 题意:求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。 思路: 设 ansx = A / B;ansy = A / 9973; 由n = A % 9973,得n = A - A / 9973 * 9973 将我们 1. 中假设的变量带入 2. 的式子中,得到n = B(ansx) ...

L_X_ 185

HDU1576 A/B 扩展欧几里得

A/B Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10303 Accepted Submission(s): 8240 Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%99...

DouglasConnor的博客 295

hdu1576 逆元板子题

A/B Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6867Accepted Submission(s): 5457 Problem Description 要求(A/B)%9973,但由于A很大,我们只给出...

diange5436的博客 122

HDU-1576-拓展的欧几里得算法/试探法

HDU-1576 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。 Input 数据的第一行是一个T,表示有T组数据。 每组数据有两个数n(0 &lt;= n &lt; 9973)和B(1 &lt;= B &lt;= 10^9)。 Output 对应每组数据输出(A/B)%9973。 Sample Input ...

weixin_43866317的博客 336
上一篇: 青蛙的约会(扩展欧几里得)
下一篇: C Looooops(扩展欧几里得)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值