辗转相减法,也称为欧几里得算法(Euclidean algorithm),是一种用于求两个正整数a和b的最大公约数(GCD)的算法。这个算法基于以下原理:两个正整数a和b(a > b)的最大公约数与a-b和b的最大公约数相同。
具体步骤如下:
1. 用较大的数a除以较小的数b,得到余数r(a = b q + r,其中q是商,r是余数)。
2. 如果余数r为0,则b即为两数的最大公约数。
3. 如果余数r不为0,则将较小的数b替换为原来的余数r,将较大的数a替换为原来的较小数b,然后重复步骤1。
这个过程会一直进行下去,直到余数为0。此时的除数b就是a和b的最大公约数。
例如,求24和36的最大公约数:
1. 36 ÷ 24 = 1...12,余数为12。
2. 24 ÷ 12 = 2...0,余数为0。
此时余数为0,所以24和36的最大公约数是12。
辗转相减法在数学、计算机科学等领域都有广泛的应用,特别是在算法设计中。