记录一个极其优雅的最大公约数方法

// 递归形式
int gcd(int a, int b) {
    return b == 0 ? a : gcd(b, a % b);
}

这里求最大公约数的方法使用了辗转相除法,只是比循环求最大公约数的方法更加优雅与简洁:

// 迭代形式
int gcd(int a, int b) {
	while(b != 0) {
		int temp = b;
		b = a % b;
		a = temp;
	}
	return a;
}

使用递归的形式还是迭代的形式可以根据个人喜好进行选择,这里仅仅记录一下两个方法,仅供参考~

04-21 03:22