欧几里得算法,扩展欧几里得算法及裴蜀定理证明

DIY T12烙铁头驱动难题:用几个电容二极管,搞定NMOS上管驱动(附Multisim仿真) 本文详细介绍了如何利用电荷泵电路解决DIY T12烙铁头驱动中的NMOS上管驱动难题。通过巧妙组合电容和二极管,构建低成本高效的升压电路,实现栅极高压驱动需求。文章包含具体电路设计、元件选型建议、实际搭建注意事项以及Multisim仿真验证,为电子爱好者提供了一套完整的解决方案。 阅读详情

最近小腐了一下数论,巩固了一些NOIP考察的数论基本知识。


其实是这样的:

我拿着“当Gcd(p,q)=1时,最大无法表示成px+qy(x,y>=0)的数是pq-p-q”的问题去问教我们“培优班”“兴趣班”的高中数学老师,过了两周,她给我卖关子,写了下裴蜀定理,说:“这是大一的内容,你弄不懂,因为很复杂,许多知识没学过。”,我告诉她我证明过,但是裴蜀定理ax+by中的a,b只满足整数,不一定满足a,b>=0,她一脸懵逼,显然是没有注意到”(x,y>=0)”,接着我就开始和一位数学专业的瞎扯信息学。截至本博客发表前,未有答复。

在交流中我猛然意识到,很多证明虽然我看过、理解过,但是到自己讲的时候就词穷了,于是我旷了晚修来上网找证明,要么高深莫测看不懂,要么跳步百出脑补晕,很难找到适合我这种初中生(蒟蒻)的浅显易懂的证明,我把好几种学过的知识联系起来,才算懂了个大概。

在这里总结一下,也是方便那些像我一样的蒟蒻学习。

欧几里得算法:

gcd(a,b)表示a,b的最大公约数。
a mod b 表示a 除以 b 所得的余数。

我们设a>=b, 那么算法就是 gcd(a,b)=gcd(b,a mod b)
当b=0时,gcd(a,b)=a。
为了方便,a,b全部满足a,b>=0。

如果你学信息学,这是入门级的题,你只需要打一个不超过三行的递归,即可得解。


Prove:

(1)

设a,b有公约数r。
a=uk,b=vk。

a mod b

=a-(a div b)*b (a div b 指a除以b所得到的商)

=uk-(u/v)vk

=(u-(u/v)v)k

∵u>=v
∴u-(u/v)v>=0

显然a mod b有因子r。
当a=b时,a mod b=0,这个我们就特别讨论了,按照定义gcd(a,0)=a。
故当a=b时,gcd(a,b)=gcd(b,a mod b)也成立。

综上所述,*a和b的公因数一定是b和a mod b的公因数。

那么反过来是否也成立呢?


(2)

我们设b 和 a mod b 有公因子r

b=ur, a mod b=vr。

设 a=kb+a mod b

这里的k=a div b,它是整数,但是没有确定的值。

a=kb+a mod b

=kur+vr

=(ku+v)r

我们发现还是可以提一个公因式r出来。

*b和a mod b的的公因数也一定是a和b公因数。


把两个结论串起来也就是,a和b的公因数与b和a mod b的公因数完全一样。
它们你中有我,我中有你。

那么gcd(最大公因数)自然也相等。

至此证毕。


裴蜀定理:

定理:ax+by=gcd(x,y)的关于a,b的二元二次方程一定有无穷组正整数解。

裴蜀定理是扩展欧几里得算法的基础,它的证明是一个迭代过程,和扩展欧几里得算法的求解过程类似。

这里在网上看到一篇比较好的,借用一下:http://blog.sina.com.cn/s/blog_9adbe8020100zc0j.html

在数论中,裴蜀定理是一个关于最大公约数(或最大公约式)的定理。裴蜀定理得名于法国数学家艾蒂安·裴蜀,说明了对任何整数a、b和它们的最大公约数d,关于未知数x和y的线性丢番图方程(称为裴蜀等式):
  ax + by = m
  有解当且仅当m是d的倍数。裴蜀等式有解时必然有无穷多个整数解,每组解x、y都称为裴蜀数,可用辗转相除法求得。
  例如,12和42的最大公因子是6,则方程12x + 42y = 6有解。事实上有(-3)×12 + 1×42 = 6及4×12 + (-1)×42 = 6。
  特别来说,方程 ax + by = 1 有解当且仅当整数a和b互素。
  裴蜀等式也可以用来给最大公约数定义:d其实就是最小的可以写成ax + by形式的正整数。这个定义的本质是整环中“理想”的概念。因此对于多项式整环也有相应的裴蜀定理。


证明:
(1)若b=0,则(a,b)=a.这时定理显然成立。

(2)若a,b不等于0.
  ∵(a,b)=(a,-b)∴不妨设a,b都大于零,a>=b,(a,b)=d
  对ax+by=d,两边同时除以d,可得(a1)x+(b1)y=1,其中(a1,b1)=1。
  转证(a1)x+(b1)y=1。由带余除法:
  a1=(q1)b+(r1),其中0<=r1 < b1
  b1=(q2)(r1)+(r2),其中0=< r2 < r1
  (r1)=(q3)(r2)+(r3),其中0=< r3 < r2
  .....
  (rn-3)=(qn-1)(rn-2)+(rn-1)
  (rn-2)=(qn)(rn-1)+(rn)
  (rn-1)=(qn+1)(rn)
  于是,有(a1,b1)=(b1,r1)=(r1,r2)=...=(rn-1,rn)=1
  故
  (rn-2)=(xn)(rn-1)+1
  即1=(rn-2)-(xn)(rn-1)
  由倒数第三个式子(rn-1)=(rn-3)-(xn-1)(rn-2)代入上式,得
  1=[1+(xn)(xn-1)](rn-2)-(xn)(rn-3)
  然后用同样的办法用它上面的等式逐个地消去(rn-2),...(r1),
  可证得1=(a1)x+(b1)y。
  
推广:

以上定理可推广到n个,n≥2

如1st IMO 1959第1题:证明对任意自然数n,(21n+4)/(14n+3)为既约分数。证明:很容易看出3(14n+3)-2(21n+4)=1,由裴蜀定理,21n+4与14n+3互质,故(21n+4)/(14n+3)为既约分数。Q.E.D.

另如:5x+4y+3z可表示全部整数.因为3,4,5互质,所以5x+4y+3z可以等于1,则必定可以等于其他任意整数

扩展欧几里得算法:

算法:求方程ax+by=1(gcd(x,y)=1)的整数解。

如果不是这个形式,如ax+by=gcd(x,y) ,先化简,求出解后乘上gcd(x,y)

根据裴蜀定理,我们知道这个方程一定有解。

ax+by=1

bx’+(a mod b) y’=1

(a mod b)x”+(b mod (a mod b))y”=1

…

如此迭代,直到 ax+ by=1 这条方程a=1,b=0,

那么此时可以得出一解x=1,y=0。


ax+by=1
bx’+(a mod b) y’=1

我们如何利用x’和y’的值来求出x和y的值呢?

ax+by=bx’+(a- a div b)y’

ax+by=ay’+bx’-(a div b)by’

ax+by=ay’+b(x’-(a div b) y’)

我们扔掉什么狗屁恒等定理,直接提个公因式,使对应的相等就行了。

即x=y’ , y=x’-(a div b) y’。

公式可以不用死背,比赛时像我这样推推就行了。


到这里三个恶心的东西就结束了,我相信很少题是裸的,都需要自己观察,如果有一些好题,我会在博客上分享。

如果读者遇到了一些好题,也可以留言,一起分享。

【Inpho精品教程】Inpho简介、安装教程(附Inpho8安装包下载) 本文介绍Trimble旗下Inpho UASMaster航空摄影测量软件,涵盖其核心功能模块(如Match-AT、OrthoMaster、Summit Evolution等)及安装教程。文章详细说明了从安装到汉化破解的全过程,并提供Inpho 8.0.1安装包下载链接与提取码,适用于无人机摄影测量专业用户。 阅读详情

相关推荐

【科研学习】Demo3D2015安装包以及图文安装步骤

安装包 点击下图的.exe文件,安装 不需要解压,打开注册机 如下图: 点击上图的.exe文件,出现下图 先点击 patch 打开安装目录下的Demo3D.licensing.dll文件,然后点击Generate,生成dvt-license文件,保存即可 打开安装完成的Demo3D 2015(64-bit),一般破解没完成的,会出现一个request a license 的问题,点击find license 的那一行 点击后找到自己Generate,生成dvt

KaelCui的博客 1万+

辗转相除法 & 裴蜀定理

2018-03-11 17:39:22 一、辗转相除法 在数学中,辗转相除法,又称欧几里得算法(英语:Euclidean algorithm),是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。例如,252和10...

aitie1479的博客 1500

SpyGlass Lint脚本实战:如何用TCL自动化RTL代码检查(附完整配置模板)

本文详细介绍了如何利用TCL脚本实现SpyGlass Lint工具的自动化RTL代码检查。通过构建模块化、工程化的脚本框架,文章提供了从环境搭建、核心配置、规则定制到豁免管理的完整实战指南,并附有可复用的配置模板,旨在帮助IC设计工程师构建高效、一致的代码质量检查流水线。

weixin_29204205的博客 136

数论基础【第一讲】

一,整数的整除性 二,

2664

【机械视觉】Halcon—【二、Halcon算子全面介绍(超详细版)】

Halcon 的算子(operators)按照功能被系统性地划分为多个类别,官方文档中目前(Halcon 22.11 版本)共有 19 个主分类,每个主分类下还有若干子分类。 本人在此对这19个分类的常用核心算子进行了一系列的总结,且本人在文章最后还总结了一些案例经验。 注意: ​​​​​​​跨分类调用:某些算子可能在多个分类中,但官方文档中会明确其主分类。 例如: read_image(文件操作)常被其他分类(如图像处理)的示例调用,但其核心功能是文件读取。

qq_3517289697的博客 3919

别再到处找模型了!手把手教你用Xinference+Docker部署本地私有大模型(Llama2/Qwen实战)

本文详细介绍了如何使用Xinference和Docker部署本地私有化大模型(如Llama2/Qwen),涵盖硬件配置、模型管理、Docker部署及性能优化等关键步骤。通过实战案例,帮助开发者快速构建企业级AI推理服务,确保数据安全与高效运行。

weixin_28683065的博客 232

密码学基础——辗转相除法,费马小定理,欧拉定理,裴蜀定理,中国剩余定理

文章主要根据百度百科和维基百科相关相关知识点整理而成! 辗转相除法 辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。 另一种求两数的...

yangwei256的博客 5428

三甲医院网络架构与安全建设实战

华为OceanStor] [华为OceanStor][PACS存储双活] [HIS数据库同步]患者隐私 数据脱敏 天清Web防火墙动态脱敏策略。主数据中心 --[OTV专线]-- 备数据中心。实现医疗业务网/卫生专网/互联网三网隔离。核心业务配置(华为CE6865)自动备份配置(每天02:00)安全事件响应(30分钟SLA)漏洞扫描(每周日00:00)实现医疗物联网统一接入管控。五、等保2.0合规关键配置。堡垒机登录(双因素认证)四、医疗物联网安全方案。

有小小的远大抱负 1911

证明裴蜀定理(一位刚学数论两天的初三生发明的证法)

这是一位刚学数论两天的初三生发明的证法

MC_wansui的博客 2344

【Bug已解决】NCCL timeout for validation 解决方案

训练用多卡 DDP / FSDP 正常,但一到或者进程直接 hang 在 eval 的某个集合通信上。最迷惑的是:训练阶段(有集合通信)完全正常,偏偏 eval 阶段(看起来更轻量)超时。因为 eval 阶段某些 rank 没参与 collective,导致参与的那部分 rank 永远等不到同伴。

一键难忘的博客 142

Vue - 详细实现低代码平台,支持拖曳式可视化生成应用软件功能,用户通过拖拽元素、搭积木的方式创建应用(适合迭代的基础架构、低代码平台)

Vue低代码平台-拖曳式拖拉拽可视化生成应用软件,拖拽式低代码数据可视化开发平台,vue实现拖拽,拖拽式Vue组件代码生成平台,基于vue的可视化拖拽代码生成工具,Vue实现可拖拽组件的方法,一个低代码平台的前端部分,靠拖拉拽生成页面。Vue技术栈从零实现低代码可视化搭建平台示例,低代码轮子,通过拖拽就可生成Vue代码的平台来了,vue低代码平台开发相关比低代码更强大的零代码开发平台,这款低代码SAAS数据可视化工具,拖拽生成大屏。vue实现拖拽效果,Vue自由拖拽缩放组件,自定义组件(文本、图片

🏆 前端领域优质创作者 1万+

《算法导论》学习笔记——裴蜀等式及其扩展的证明

裴蜀等式及其扩展裴蜀等式是exgcdexgcd的骨髓,是建立在gcdgcd,它保证了exgcdexgcd的有解性。 裴蜀等式 存在让ax+by=gcd(a,b)ax+by=gcd(a,b)的x,yx,y; 扩展 gcd(a,b)gcd(a,b)是{ax+by:x,y∈Z}\{ax+by:x,y∈Z\}的最小正元素。证明先设ss是这个集合中最小正元素。 设q=⌊as⌋q=\lfloor \f

蒟蒻柴犬首相的博客 989

实战交易策略 篇二十二:情绪流龙头交易策略

在股票市场中,机构主导趋势,游资驱动热点,散户易被情绪裹挟,形成“金字塔”式生态链,并存在情绪传递、强者恒强、物极必反的规律特点。股市是资金驱动的情绪博弈场,价格波动由群体心理、资金博弈和预期差共同驱动,核心是资本逐利性与人性贪婪恐惧的交织,兼具资源配置、财富再分配与风险定价功能。涨停加速与逃逸缺口(主升强化)凹字板/平台突破(趋势延续)天量弱转强(分歧买点)不参与首波(二波策略)情绪周期(道术合一)主线思维(聚焦核心)开盘抢筹(竞价博弈)一字助攻(情绪强化)分批进出(滚动操作)

生活在别处 1500

从裴蜀定理到扩展欧几里得算法 (详细证明)

截止到红色波浪线部分,就已经证明了对于任意a,b的线性组合s,总能满足s mod d =0 即d|s,因此裴蜀定理得证。时,则x,y的表达式为迭代后的x,y表示式,因此,我们不难想到递归的思想,也就是不断的采用辗转相除法求出下一次的解,直到。在算法学习中,理论证明推导与实际算法实现存在一定差距,建议弄懂理论过后,再尝试复现代码。扩展欧几里得算法也用类似的辗转相除法求解上述不定方程的一组解。有了裴蜀定理,我们就可以很自然的过渡到扩展欧几里得算法,因为。时,此时的x,y显而易见,而当。时,再回溯求得正解。

2401_82840834的博客 625

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

关于欧几里得算法,裴蜀定理,扩展欧几里得算法证明与解析

欧几里得算法 注:欧几里得算法是用来计算最大公约数的一个算法.主要的代码实现如下: int gcd(int a,int b){ return !b?a:gcd(b,a%b); } 如果这个式子成立的话,不断重复利用这个式子来计算,直到a和b中有一个数变为0的时候,就可以求出了他们的最大公约数。 举个例子:我们要求gcd(15,30) 运行如下:...

dieloupi0136的博客 254

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

裴蜀定理&&扩展欧几里得算法

裴蜀定理 也就是Bezout定理,对于任意整数a,b,存在一对整数x,y,满足ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b)。 在数论中,裴蜀定理是一个关于最大公约数(或最大公约式)的定理,裴蜀定理得名于法国数学家艾蒂安·裴蜀。 裴蜀定理说明了对任何整数 a、b和它们的最大公约数 d ,关于未知数 x 和 y 的线性丢番图方程(称为裴蜀等式)。 证明: 若b...

Sinclair 1059

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

欧几里得算法、扩展欧几里得算法(特解、应用、通解)

gcdabgcdbabgcdabgcdbabgcdbabgcdabgcdaba​gcdabb​最近实验中用到了仿射加解密算法,其中的解密操作是通过扩展欧几里得算法实现的,因此在这里对做一个完整的记录。

striveAgain丶的博客 1988

数论——裴蜀定理、欧几里得算法、扩展欧几里得算法、逆元以及求解

a|b表示a整除b;a|\b表示a不整除b;|可以表示对整数的划分;

u014114223的博客 2107

扩展欧几里得算法的证明以及求逆元

在说扩展欧几里得算法之前,先说一下裴蜀定理。在数论中,裴蜀定理是一个关于最大公约数(或最大公约式)的定理: 若a,b是整数,且gcd(a,b) = d,那么对于任意的整数x,y,ax+by = m中的m一定是d的倍数。 一定存在整数x, y,使得 ax + by = gcd(a, b) 证明1:因为gcd(a, b) = d,所以d|a, d|b, 又因为x, y是整数, 所以d|ax, d|by, 所以d|ax+by, 即 d|m。 证明2:令s 为 ax + by 的最小正值,再令e = ma +

weixin_44060440的博客 1230

蓝桥杯省赛无忧 课件99 裴蜀定理

前置算法 欧几里得算法、01 什么是裴蜀定理、02 裴蜀定理的数学证明、03 裴蜀定理扩展、04 例题、关联知识 EXGCD(扩展欧几里得算法)

weixin_74774974的博客 405

欧几里得算法与扩展欧几里得算法(C++/Java)

本篇文章将介绍【数论】知识,有关最大公约数算法之欧几里得算法及其扩展算法,代码实现使用C++/Java。

未见花闻的博客 1099

最大公约数与扩展欧几里得算法[数论]

——!x^n+y^n=z^n     最大公约数(gcd)及其算法(欧几里得算法) 对于正整数 a,b 若存在c使得c|a且c|b,则称c为a,b的公约数,若c还满足a=pc,b=qc,且p,q互质,则称c为a,b的最大公约数,记为(a,b)。 当然我们可以用枚举的方法求gcd,但还有一种算法可以高效解决这一问题,叫做欧几里得算法...这里主要给出一种证明... 欧几里得算法:(...

diezhen8177的博客 243

欧几里得 ---> 裴蜀定理 ---> 拓展欧几里得

费马小定理求逆元,模数需要是质数。扩展欧几里得求逆元只需 a 与 m 互质。对 b 取模,可以看作 **+b y ** (y为负值)题目:判断 ax+by =c 的解。:对于任意整数 (a, b)

2301_81692739的博客 1200

[数论+模板] 裴蜀定理及扩展欧几里得算法模板(模板)

文章目录1. 裴蜀定理与扩展欧几里得定理的证明2. 扩展欧几里得算法+模板3. 快速幂求逆元+模板 1. 裴蜀定理与扩展欧几里得定理的证明 也可参考大佬题解 2. 扩展欧几里得算法+模板 877. 扩展欧几里得算法 重点: 扩展欧几里得算法 有关于递归的部分,递归结束之后应该得到了 a 和 b 的最大公约数。在此关于递归函数内部传参有两种写法 exgcd(b, a % b, x1, y1); 这个完全以原问题出发,推导 gcd(a, b) = gcd(b, a % b) 这个式子的拓展欧几里得展开式,

Y-puyu 的博客 420

记扩展欧几里得算法的学习

为了解决形如ax+by=c的方程求解问题而应运而生的算法就是扩展欧几里得算法,没想到学了高等代数相关知识后温习这个的证明也变得简单多了。完全可以将其的某些性质和多项式的那些定理等价,证明什么的也都如出一辙。 而其求解与辗转相除法密不可分。首先如何证明辗转相除法的正确性呢? a = bq + r,那么若x = gcd(a, b), y = gcd(b, r)即证x=y; 由等式易知x|a&&...

你的写轮眼,究竟还能看多远呢 219

NOI 提高级 初等数论:裴蜀定理

NOI 提高级 初等数论:裴蜀定理

青少年趣味编程 1057
上一篇: Usaco Beef McNuggets——当Gcd(p,q)=1时,最大无法表示成px+qy(x,y>=0)的数是pq-p-q
下一篇: 简单树链剖分
Cold_Chair
博客等级 码龄11年 158粉丝 410原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值