我们正在努力恢复Google Play商店上的Unionpedia应用程序
传出传入
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

扩展欧几里得算法

指数 扩展欧几里得算法

扩展欧几里得算法(Extended Euclidean algorithm)是欧几里得算法(又叫辗转相除法)的扩展。已知整数a、b,扩展欧几里得算法可以在求得a、b的最大公约数的同时,能找到整数x、y(其中一个很可能是负数),使它们满足貝祖等式 如果a是负数,可以把问题转化成 通常談到最大公因數時,我們都會提到一個非常基本的事實:給予二个整數a、b,必存在整數x、y使得ax + by.

目录

  1. 12 关系: 一次不定方程C语言矩阵算法导论绝对值罗纳德·李维斯特貝祖等式輾轉相除法PythonRSA加密演算法模反元素最大公因數

  2. 数论算法
  3. 欧几里得

一次不定方程

#重定向 丟番圖方程#一次不定方程.

查看 扩展欧几里得算法和一次不定方程

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

查看 扩展欧几里得算法和C语言

矩阵

數學上,一個的矩陣是一个由--(row)--(column)元素排列成的矩形阵列。矩陣--的元素可以是数字、符号或数学式。以下是一个由6个数字元素构成的2--3--的矩阵: 大小相同(行数列数都相同)的矩阵之间可以相互加减,具体是对每个位置上的元素做加减法。矩阵的乘法则较为复杂。两个矩阵可以相乘,当且仅当第一个矩阵的--数等于第二个矩阵的--数。矩阵的乘法满足结合律和分配律,但不满足交换律。 矩阵的一个重要用途是解线性方程组。线性方程组中未知量的系数可以排成一个矩阵,加上常数项,则称为增广矩阵。另一个重要用途是表示线性变换,即是诸如.

查看 扩展欧几里得算法和矩阵

算法导论

《算法导论》(Introduction to Algorithms)是基础算法方面最权威、最详细的著作之一,在很多国际著名大学被用于算法课的教材。诸多算法方面的论文将其列入参考文献当中。 该书详细的介绍了诸多常见的算法及数据结构,并用严谨的证明来论证其正确性。每个章节均有例题,适合学习者深入理解。第一版刊行于1990年,2009年最新版为第三版。在许多国家常常以作者姓名首个英文字母被称为CLRS(第一版则简称为CLR)。.

查看 扩展欧几里得算法和算法导论

绝对值

絕對值用來表示一個數至原點的距離之大小。絕對值的概念也可以定義在複數、有序環以及域上。.

查看 扩展欧几里得算法和绝对值

罗纳德·李维斯特

罗纳德·林納·李维斯特 (Ronald Linn Rivest,)是一名美国密码学家。他是麻省理工学院电子工程和计算机科学部门 (EECS)计算机科学的一名教授 和麻省理工学院之 (CSAIL)的成员。他与阿迪·萨莫尔和伦纳德·阿德曼共同发明了RSA加密演算法;以及在密码学和计算机科学等领域做出许多杰出贡献而知名。RSA被广泛使用在计算机安全应用上,包括https。2002年,他与阿迪·萨莫尔和伦纳德·阿德曼一起因在公钥密码学RSA加密演算法取得的杰出贡献而获得图灵奖。.

查看 扩展欧几里得算法和罗纳德·李维斯特

貝祖等式

在数论中,裴蜀等式(Bézout's identity)或貝祖定理(Bézout's lemma)是一个关于最大公约数(或最大公约式)的定理。裴蜀定理得名于法国数学家艾蒂安·裴蜀,说明了对任何整數a、b和m,关于未知数x和y的線性丟番圖方程(称为裴蜀等式): 有整数解时当且仅当m是a及b的最大公约数d的倍数。裴蜀等式有解时必然有无穷多个整数解,每组解x、y都稱為裴蜀數,可用擴展歐幾里得演算法求得。 例如,12和42的最大公因數是6,则方程12x+42y.

查看 扩展欧几里得算法和貝祖等式

輾轉相除法

在数学中,辗转相除法,又称欧几里得算法(Euclidean algorithm),是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。 两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。例如,252和105的最大公约数是21();因为,所以147和105的最大公约数也是21。在这个过程中,较大的数缩小了,所以继续进行同样的计算可以不断缩小这两个数直至其中一个变成零。这时,所剩下的还没有变成零的数就是两数的最大公约数。由辗转相除法也可以推出,两数的最大公约数可以用两数的整数倍相加来表示,如。这个重要的結論叫做貝祖定理。 辗转相除法最早出现在欧几里得的《几何原本》中(大约公元前300年),所以它是现行的算法中歷史最悠久的。这个算法原先只用来处理自然数和几何长度(相當於正實數),但在19世纪,辗转相除法被推广至其他类型的數學對象,如高斯整数和一元多项式。由此,引申出欧几里得整环等等的一些现代抽象代数概念。后来,辗转相除法又扩展至其他数学领域,如纽结理论和多元多项式。 辗转相除法有很多应用,它甚至可以用来生成全世界不同文化中的传统音乐节奏。在现代密码学方面,它是RSA算法(一种在电子商务中广泛使用的公钥加密算法)的重要部分。它还被用来解丢番图方程,比如寻找满足中国剩余定理的数,或者求有限域中元素的逆。辗转相除法还可以用来构造连分数,在施图姆定理和一些整数分解算法中也有应用。辗转相除法是现代数论中的基本工具。 辗转相除法处理大数时非常高效,如果用除法而不是减法实现,它需要的步骤不会超过较小数的位数(十进制下)的五倍。拉梅于1844年证明了这点,同時這也標誌著计算复杂性理论的開端。.

查看 扩展欧几里得算法和輾轉相除法

Python

Python( ),是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以視之為一種改良(加入一些其他程式語言的優點,如物件導向)的LISP。作为一种解释型语言,Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比於C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。 与Scheme、Ruby、Perl、Tcl等动态类型编程语言一样,Python拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。其本身拥有一个巨大而广泛的标准库。 Python 解释器本身几乎可以在所有的操作系统中运行。Python的正式直譯器CPython是用C语言编写的、是一個由社群驱动的自由软件,目前由Python软件基金会管理。.

查看 扩展欧几里得算法和Python

RSA加密演算法

RSA加密演算法是一种非对称加密演算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。 1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中提出了一个相同的算法,但他的发现被列入机密,一直到1997年才被發表。 對极大整数做因数分解的难度決定了RSA算法的可靠性。換言之,對一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的--的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式--。到目前为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的--实际上是不能被--的。 1983年9月12日麻省理工学院在美国为RSA算法申请了专利。这个专利2000年9月21日失效。由于该算法在申请专利前就已经被發表了,在世界上大多数其它地区这个专利权不被承认。.

查看 扩展欧几里得算法和RSA加密演算法

模反元素

模反元素也称为模倒数,或者模逆元。 一整数a對同餘n之模反元素是指滿足以下公式的整數 b 也可以寫成以下的式子 整数 a 對模数 n 之模反元素存在的充分必要條件是 a 和 n 互質,若此模反元素存在,在模数 n 下的除法可以用和對應模反元素的乘法來達成,此概念和實數除法的概念相同。.

查看 扩展欧几里得算法和模反元素

最大公因數

数学中,兩個或多個整數的最大公因數(greatest common factor,hcf)指能够整除这些整数的最大正整数(这些整数不能都为零)。例如8和12的最大公因数为4。最大公因数也称最大公约数(greatest common divisor,gcd)。 整数序列a的最大公因数可以記為(a_1, a_2, \dots, a_n)或\gcd(a_1, a_2, \dots, a_n)。 求兩個整數最大公因數主要的方法:.

查看 扩展欧几里得算法和最大公因數

另见

数论算法

欧几里得

亦称为 Exgcd。