【离散数学中的数据结构与算法】二 欧几里得算法与裴蜀等式

欧几里得算法是计算两个数最大公因子算法。又称辗转相除法。本文将学习为什么辗转相除法可以求得两个数的最大公因子。同时也可以根据最大公因子计算两个数的最小公倍数。

文章目录

    • 1 欧几里得算法的理论基础
      • 1.1 欧几里得算法(辗转相除法)
    • 2 裴蜀等式(贝祖等式)

1 欧几里得算法的理论基础

设 a=qb+r, 其中 a, b, q, r 都是整数, 则

  • GCD(a, b) = GCD(b, r)

证明过程如下:

在这里插入图片描述

1.1 欧几里得算法(辗转相除法)

  • 欧几里得算法(辗转相除法) GCD ( a, b )
  • 输入: 整数 a, b , 满足 a >= b >= 0 , 且 a, b 不全为0
  • 输出: GCD(a, b)

由上面欧几里得算法的理论基础知:GCD(a, b) = GCD(b, r)

则,欧几里得算法的步骤如下:

在这里插入图片描述

可以由欧几里得算法计算两个数的最大公约数后,根据GCD(a,b)*LCM(a,b)=a*b 计算最小公倍数。

2 裴蜀等式(贝祖等式)

  • 对于不全为0的整数 a, b 和 d , 方程 sa+tb=d存在整数解 s 和 t 当且仅当 GCD(a, b)|d 。
  • 方程 sa+tb=d 称作裴蜀(Bezout) 等式或贝祖等式。

证明:

  1. 充分性证明:sa+tb=GCD(a, b)可定是存在整数解的,设为 s0、 t0。若d=kGCD(a, b)=k(sa+tb),则k*s0, k*t0是方程的一个解。
  2. 必要性证明:若方程 sa+tb=d 存在整数解 s 和 t 则GCD(a, b) | (sa+tb)=d

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

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

相关文章

数据库-存储过程-游标-函数

一、存储过程 SQL99标准提出的SQL-invoked-rountines的概念,它开分为存储过程与函数,这里首先介绍存储过程 存储过程分为三类:系统存储过程(如:sp_help)、自定义存储过程、扩展存储过程 存储过程可以理解为一个SQL语句块&am…

【离散数学中的数据结构与算法】四 加法法则与乘法法则

文章目录1 加法法则2 乘法法则3 例子3.1 例一3.2 例二3.3 例三4 总结1 加法法则 加法法则: 设事件 A 有 m 种产生方式, 事件 B 有n 种产生方式,则当 A 与 B 产生的方式不重叠时,“事件 A 或 B 之一” 有 mn 种产生方式。 加法法…

实现上移的存储过程

--上移存储过程 create proc sp_sort id int as declare SortID int --排序位置 declare TempSortID int --临时排序位置 declare TempID int --临时编号 begin transaction select SortIDSortID from [User] where [ID]ID --找出想修改顺序的用户的当前当前排序 select Tem…

前端学习(310):清除浮动的方法

我们经常把高度塌陷问题也叫做常见的几种清除浮动的方法 高度塌陷问题—父元素高度自适应,子元素float后,造成父元素高度为0,就叫做高度塌陷问题 给父元素一个高度 缺点:无法高度自适应 父元素{overflow:hidden;} 缺点&#xf…

【离散数学中的数据结构与算法】五 排列与组合一

在leetcode刷题过程中,遇到过很多关于排列组合的问题。弄清楚排列组合的相关原理,是非常有用处的。 文章目录1 问题2 排列-有序选取2.1 重复选取-可重排列2.2 不重复选取-排列2.21 全排列3 例题4 总结1 问题 设集合S包含n个元素,从S中选取r个…

Google Maps 地址转化成坐标

http请求格式http://maps.google.com/maps/geo?q查询关键字&outputkml(输出格式可以 为xml kml json)&oeutf8&sensortrue或者false&key你的apikey示例http://maps.google.com/maps/geo?q湖南大学软件学院&outputkml&keyabcdefg(api key)输出kml文件如…

【离散数学中的数据结构与算法】六 排列与组合二

接着上一篇学习:【离散数学中的数据结构与算法】五 排列与组合一 上一篇文章主要学习了可重复选取的可重排列和不可重复选取的排列。他们都是在n个不同的对象中选取。 今天我们俩学习的是,当这个n个对象中有相同的元素的时候,排列的相关定理…

sql 2008 使用output避免数据修改后的二次查询

表a (f1 primary key,f2,f3), 表b (f1,f3,f4)现要根据表b修改表a中的相应字段的值,并将修改过的值显示出来,一般用法:1 update a from b set a.f3b.f3 where a.f1b.f12 select a.f1,f2,f3 from a where a.f1 in (select f1 from b)根据sql的…

【离散数学中的数据结构与算法】七 排列与组合三

前两篇文章学习了不可重复选取的排列与可重复选取的可重排列。本篇文章开始学习组合的相关定理。 文章目录1 组合1.1 组合的计算公式2 总结1 组合 跟排列一样。组合也分为不重复选取的组合,与可重复选取的可重组合。本节内容主要学习不可重复选取的组合 从 n 个不…

Silverlight4.0教程之WebBrowser控件(Silverlight内置HTML浏览器控件)

微软于PDC2009上发布Silverlight 4 Beta版,微软在Silverlight 4版本中处理了约8000个的Silverlight终端用户的请求,加入了一系列另开发人员兴奋的新特性,最突出的主要体现在几个方面: 开发工具增强:Visual Studio 2010…

【离散数学中的数据结构与算法】八 排列与组合四

上一篇文章学习了组合(不可重复选取的)。今天来将可重复选取的组合学习一下。 文章目录1 可重复选取的组合-可重组合2 总结1 可重复选取的组合-可重组合 现在有4种口味的棒棒糖,你要从中选3个(允许你选同种口味)总共有多少种不同的选法&…

[转]HDFS用户指南(中文版)

目的 本文档可以作为使用Hadoop分布式文件系统用户的起点,无论是将HDFS应用在一个Hadoop集群中还是作为一个单独的分布式文件系统使用。HDFS被设计成可以马上在许多环境中工作起来,那么一些HDFS的运行知识肯定能大大地帮助你对一个集群做配置改进和诊断。…

【离散数学中的数据结构与算法】九 鸽巢原理

鸽巢原理是非常著名的原理,生活正用的也很多。 文章目录1 简单鸽巢原理的应用2 定理(一般性鸽巢原理)2.1 应用3 总结1 简单鸽巢原理的应用 定理(鸽巢原理) 若有 n 个鸽巢, n1 个鸽子,则至少有…

【离散数学中的数据结构与算法】十 汉诺塔

汉诺塔也是经典的算法问题 文章目录1 汉诺塔问题1 汉诺塔问题 法国数学家卢卡斯(Edouard Lucas)在1883年提出了一个数学游戏: 传说在世界中心贝拿勒斯(印度北部)的圣庙里,一块黄铜板上有三根宝石柱。印度…

cross-domain policy file

A cross-domain policy file is an XML document that grants a web client—such as Adobe Flash Player, Adobe Reader, etc.—permission to handle data across multiple domains. When a client hosts content from a particular source domain and that content makes re…

markdown编辑器中数学公式的基本命令

原创链接:https://blog.csdn.net/holdrenminbi/article/details/78229488 常见的Markdown编辑器中数学公式使用 相比于初入Markdown编辑器的小白来说,数学公式的使用是必须要掌握的一门技能。本内容大体的介绍结构如下: 插入公式常用数学运…

Java程序练习-螺旋矩阵

螺旋矩阵时间限制: 1500ms内存限制: 1000kB描述生成一个NxN(N>0)的旋转矩阵,N从键盘输入,每4个字符输出一个数字,右对齐,从1开始至NxN,顺时针成螺旋状,例如:输入4则生成1--16的矩…

【离散数学中的数据结构与算法】十一 错排问题

错排问题比较难,但是也是经典算法问题 文章目录1 错排问题2 总结1 错排问题 家中阳台有10盆不同的花,为保持新鲜感,希望每天重新摆放,使得每盆花都不在第一天放的位置。那么最多可以保持多少天每天摆法都不同? 这是一…