ACM数论之旅4---扩展欧几里德算法(欧几里德(・∀・)?是谁?)

为什么老是碰上

扩展欧几里德算法

( •̀∀•́ )最讨厌数论了

看来是时候学一学了

 

度娘百科说:

首先, ax+by = gcd(a, b) 这个公式肯定有解 (( •̀∀•́ )她说根据数论中的相关定理可以证明,反正我信了)

所以 ax+by = gcd(a, b) * k 也肯定有解 (废话,把x和y乘k倍就好了)

所以,这个公式我们写作ax+by = d,(gcd(a, b) | d)

gcd(a, b) | d,表示d能整除gcd,这个符号在数学上经常见

 

 

那么已知 a,b 求 一组解 x,y 满足 ax+by = gcd(a, b) 这个公式

 

 1 #include<cstdio>
 2 typedef long long LL;
 3 void extend_Eulid(LL a, LL b, LL &x, LL &y, LL &d){
 4     if (!b) {d = a, x = 1, y = 0;}
 5     else{
 6         extend_Eulid(b, a % b, y, x, d);
 7         y -= x * (a / b);
 8     }
 9 }
10 int main(){
11     LL a, b, d, x, y;
12     while(~scanf("%lld%lld", &a, &b)){
13         extend_Eulid(a, b, x, y, d);
14         printf("%lld*a + %lld*b = %lld\n", x, y, d);
15     }
16 }

 

 

有些人喜欢极度简化,这是病,得治(,,• ₃ •,,)比如在下

1 void ex_gcd(LL a, LL b, LL &d, LL &x, LL &y){
2     if(!b){d = a; x = 1; y = 0;}
3     else{ex_gcd(b, a%b, d, y, x); y -= x*(a/b);}
4 } 

 

连名字都简化了。。。

 

 

 

( •̀∀•́ )解完了

睡觉~~~

 

转载于:https://www.cnblogs.com/linyujun/p/5167916.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

艾里斑大小与像元尺寸的匹配问题

写给自己看的学习记录&#xff1a; 光具有波粒二象性&#xff0c;由此衍生出了几何光学与衍射光学。在光学设计软件中&#xff0c;最常用的判断标准是查看点列图的RMS半径以及MTF图的曲线&#xff0c;这两者分别代表了两种传播性质的评价方式。 在刚接触光学设计时&#xff0…

Android 保持Service不被Kill掉的方法--双Service守护 Android实现双进程守护

本文分为两个部分&#xff0c;第一部分为双Service守护&#xff0c;第二部分为双进程守护 第一部分&#xff1a; 一、Service简介&#xff1a;Java.lang.Object ↳Android.content.Context ↳android.content.ContextWrapper ↳android.app.Service Service是应用程序Applicati…

【mmdetection2.0错误】——ModuleNotFoundError: No module named ‘mmdet‘

一开始以为是安装包导入的相对路径的问题&#xff0c;结果鼓捣了一上午都没有用&#xff0c;最后才发现再进行mmdet2.0环境配置的时候忘记编译了 也就是如下语句&#xff1a; python setup.py develop

聊聊分布式事务

事务就是一个会话过程中&#xff0c;对上下文的影响是一致的&#xff0c;要么所有的更改都做了&#xff0c;要么所有的更变都撤销掉。就要么生&#xff0c;要么死。没有半死不死的中间不可预期状态。参考下薛定谔的猫。 事务是为了保障业务数据的完整性和准确性的。分布式事务&…

PLSQL DBMS_DDL.ANALYZE_OBJECT

http://space.itpub.net/11893231/viewspace-683241 本文转自健哥的数据花园博客园博客&#xff0c;原文链接&#xff1a;http://www.cnblogs.com/gaojian/archive/2012/11/30/2795775.html&#xff0c;如需转载请自行联系原作者

【深度学习mmdetection错误】——mmdetection 运行报错KeyError:‘ConvWS is already registered in conv layer‘

于是修改以下mmdetection的安装文件&#xff1a; site-packages/mmdet-2.1.0unknown-py3.7-linux-x86_64.egg/mmdet/ops/conv_ws.py" 把 CONV_LAYERS.register_module(ConvWS) 修改为&#xff1a; CONV_LAYERS.register_module(nameConvWS, forceTrue)

ABB RAPID 在 Notepad++ 中语法高亮的实现

ABB RAPID 在 Notepad 中语法高亮的实现 分类&#xff1a; Misc2014-04-08 15:43 145人阅读 评论(0) 收藏 举报notepadNotepad 内置了一个称为 UDL2.0 (User Defined Language) 的引擎&#xff0c;来实现用户自定义语法高亮&#xff0c;使用它&#xff0c;可以定制自己的代码语…

Redis服务器的启动过程分析

转载于&#xff1a;http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/127.html?1455808771 本文将通过分析代码来介绍Redis的启动过程&#xff0c;通过查看Redis 的启动脚本&#xff0c;得知Redis的启动时从Redis.c的main方法开始的。Redis启动可以分为以下几个步骤…

MyEclipse运行时自动保存

今天第一次用MyEclipse&#xff0c;我发现我的代码明明修改了&#xff0c;但运行结果发现总是修改前的代码结果。后来发现&#xff0c;是代码修改后必须保存&#xff0c;再点运行。这个功能明显不合适&#xff0c;所以需要更改MyEclipse的配置。红框是修改后的结果。 转载于:ht…

PLSQL中INDEX BY TABLE 的 prior 和 next 操作学习

开始 --INDEX BY Table SET SERVEROUTPUT ON;DECLARETYPE enm_tab_type IS TABLE OFemp.ename%TYPEINDEX BY BINARY_INTEGER;enm_table enm_tab_type; BEGINenm_table(1):1001;enm_table(2):1002;enm_table(3):1003;enm_table(4):1004;enm_table(6):1006;dbms_output.put_line(…

【深度学习torch——error】——“xxx.pt is a zip archive(did you mean to use torch.jit.load()?)

这个问题是在进行权重文件加载进行预测的时候发生的&#xff0c;原因其实就是torch版本不对 我是用的工作站训练使用的是torch1.7.0&#xff0c;然后用自己的电脑进行预测&#xff0c;就报错了&#xff0c;原因就是自己的电脑是torch1.2.0版本的 因为在1.6版本以上的模型改变…

ABB 机器人 IRBP系列转台的一段代码注释

PROC IndexToStn1() //检测变位机状态 并设置要运行到的角度位置 并对不同的GetNextPartAdv返回值情况 进行处理 VAR bool bActive;VAR jointtarget jtCurrent; //声明一个位置变量IF (NOT bInterchCalib1) CalibIntch1; ! reset inpo…

如何写一个bootloader

声明&#xff1a;本文为学习Codeproject文章的个人总结性文章&#xff0c; 原文&#xff1a;http://www.codeproject.com/Articles/664165/Writing-a-boot-loader-in-Assembly-and-C-Part 本人开发环境&#xff1a; 操作系统&#xff1a;Ubuntu 32位&#xff08;64位的会有push…

定时执行某段程序

有时候我们需要每天 定时的 自动 去执行某段程序&#xff0c;那么这个功能如何实现呢&#xff1f; 经过百度&#xff0c;定时器就可以实现&#xff0c;总结如下&#xff1a; 我用控制台写了一个程序&#xff0c;用来在指定时间内 打印 “我执行了” 上面就是程序的运行结构&…

【error】深度优先搜索TypeError: unhashable type: ‘list‘

查网上的原因是&#xff1a; python字典的key不支持list类型和dict类型&#xff0c;需要转换 但是我没有使用到key&#xff0c;后来仔细查看发现是增加了一个装饰器导致的&#xff0c;functions.lru.cache 把装饰器注释掉即可 # 利用深度搜索进行查找 lru_cache(None) def …

Okhttp 插入缓存拦截器 解析

我们在做网络请求的时候&#xff0c;如果网络请求过于频繁而且请求的数据变动不大&#xff0c;或者基本没有变动&#xff0c;这个时候如果没有缓存功能&#xff0c;我们想一下 会浪费掉多少资源&#xff0c;一次请求刷新一次&#xff0c;去请求一次&#xff0c;不但会消耗用户的…

浅谈PROFINET IO通信的实时性

PROFINET由PROFIBUS国际组织&#xff08;PROFIBUS International&#xff0c;PI&#xff09;推出&#xff0c;是新一代基于工业以太网技术的自动化总线标准。作为一项战略性的技术创新&#xff0c;PROFINET为自动化通信领域提 供了一个完整的网络解决方案&#xff0c;囊括了诸如…

目标

学习计划以及目标---------------------------------------------------------------------------------------------------------------------------------------------------------------- 正文 在上大学之前&#xff0c;可以说我完全是一个…

今日头条核心技术“个性推荐算法”揭秘

今日头条核心技术“个性推荐算法”揭秘 最近面试华兴资本&#xff0c; 他们比较关注今日头条算法的实现&#xff0c; 今天特转载网上 今日头条算法解密【IT168 评论】互联网给用户带来了大量的信息&#xff0c;满足了用户在信息时代对信息的需求&#xff0c;也使得用户在面对大…

PROFINET及其同步实时通讯分析

1 概述 PROFINET实时以太网是由Profibus International&#xff08;PI&#xff09;组织提出的基于以太网的自动化标准。从2004年4月开 始&#xff0c;PI与Interbus Club总线俱乐部联手&#xff0c;负责合作开发与制定标准。PROFINET构成从I/O级直至协调治理级的基于组件的分…