求最大公约数伪代码

一.什么是欧几里得算法

在数学中,辗转相除法,又称欧几里得算法,是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》中,而在中国则可以追溯至东汉出现的《九章算术》。

两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。

辗转相除法最早出现在欧几里得的《几何原本》中,所以它是现行的算法中历史最悠久的。这个算法原先只用来处理自然数和几何长度,但在19世纪,辗转相除法被推广至其他类型的数学对象,如高斯整数和一元多项式。由此,引申出欧几里得整环等等的一些现代抽象代数概念。后来,辗转相除法又扩展至其他数学领域,如纽结理论和多元多项式。

辗转相除法有很多应用,它甚至可以用来生成全世界不同文化中的传统音乐节奏。在现代密码学方面,它是RSA算法的重要部分。它还被用来解丢番图方程,比如寻找满足中国剩余定理的数,或者求有限域中元素的逆。辗转相除法还可以用来构造连分数,在施图姆定理和一些整数分解算法中也有应用。辗转相除法是现代数论中的基本工具。

辗转相除法处理大数时非常高效,如果用除法而不是减法实现,它需要的步骤不会超过较小数的位数的五倍。拉梅于1844年证明了这点,同时这也标志着计算复杂性理论的开端。

参考网址:https://zh.wikipedia.org/wiki/輾轉相除法

二.利用伪代码实现欧几里得算法

输入正整数a b 令b>a
c=b-a
b=c
比较a与b大小
令数据小的一方等于c
后重复上述过程
较大者减去较小者
直至两者的差为0
此时不为0的值为两者的最大公约数  

三.手动验证伪代码是否可行

posted @ 2019-11-04 19:19  李业达  阅读(779)  评论(0编辑  收藏  举报