1.最大公约数
利用到了辗转相除法的思想,递归调用函数,边界值为余数为零,返回被除数,只用一行代码就能实现。
int maxx(int a, int b) {
return b == 0 ? a : maxx(b, a% b);
}
2.最小公倍数
利用到了一个性质:两数相乘等于他们的最大公倍数和最小公约数相乘,因此可以调用最大公约数的函数来实现。
int minn(int a, int b) {
return a * b / maxx(a, b);
}
本文介绍了如何利用辗转相除法思想和递归设计,一行代码实现最大公约数的计算,并通过性质推导最小公倍数的计算方法。通过这两个核心概念,深入浅出地讲解了算法在数论中的应用。
1.最大公约数
利用到了辗转相除法的思想,递归调用函数,边界值为余数为零,返回被除数,只用一行代码就能实现。
int maxx(int a, int b) {
return b == 0 ? a : maxx(b, a% b);
}
2.最小公倍数
利用到了一个性质:两数相乘等于他们的最大公倍数和最小公约数相乘,因此可以调用最大公约数的函数来实现。
int minn(int a, int b) {
return a * b / maxx(a, b);
}

被折叠的 条评论
为什么被折叠?