欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。
计算105和24的最大公约数:
105 = 24 x 4 + 9
24 = 9 2 + 6
9 = 6 1 + 3
6 = 3 * 2 + 0
当余数为0时,可得到最大公约数。105和24的最大公约数是3.
代码实现
递归版本:
public static int gcd (int p, int q) {if (q == 0) return p;else return gcd (q, p%q);}
迭代
public static int gcdLoop (int p, int q) {while (q != 0) {int rem = p % q;p = q;q = rem;}return p;}
