1.最大公约数
最大公约数,也称最大公因数、最大公因子,指两个或多个整数共有约数中最大的一个。求最大公约数的常用方法为辗转相除法。
实现方法如下:
int gcd(int a,int b) //辗转相除法
{
return b?gcd(b,a%b):a; //用递归的方法
}
2.最小公倍数
两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。由于a,b两个数的乘积为这两个数的最大公约数与最小公倍数的积。所以最小公倍数=两个数的乘积/最大公约数。
实现方法如下:
int lcm(int a,int b)
{
return a*b/gcd(a,b); //gcd(a,b)函数为上面求最大公约数的函数
}