最大公约数使用辗转相除法
由于gcd(a,b)=gcd(b,a mod b)
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
最大公倍数×最小公因数=a*b
所以最大公倍数
int gbd(int a,int b)
{
return a/gcd(a,b)*b; //a先除保证不超界
}
注意:
最大公倍数×最小公因数=a*b
这个关系可以逆向考虑,已知两个数的最大公因数和最小公倍数,可以得知两个数的乘积。
本文介绍了使用辗转相除法计算两数最大公约数的算法,以及通过最大公约数推导最大公倍数的方法。阐述了最大公倍数与最小公因数的关系,即两数乘积等于最大公倍数乘以最大公约数。
384

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



