记录一个极其优雅的最大公约数方法
// 递归形式
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;
}
使用递归的形式还是迭代的形式可以根据个人喜好进行选择,这里仅仅记录一下两个方法,仅供参考~