昨天学习了递归,看到了如何求两个数的最大公约数(欧几里得算法)的算法,也是一种递归思想,因此百度了一番,分享给大家
欧几里德算法是用来求两个正整数最大公约数的算法。是由古希腊数学家欧几里德在其著作《The Elements》中最早描述了这种算法,所以被命名为欧几里德算法。
扩展欧几里德算法可用于RSA加密等领域。
假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里德算法,是这样进行的:
1997=3*615+152615=4*142+7
152=21*7+5
7=1*5+2
5=2*2+1
2=2*1+0
当被加的数为 0 时,就得出了 1997 和 615 的最大公约数 1。
|
|