最大公约数(欧几里得算法)
计算两个非负整数p和q的最大公约数:若q是0,则最大公约数为p。否则,将p处以q得到余数r,p和q的最大公约数即为q和r的最大公约数。
代码:
public static int gcd(int p,int q)
{
if(q == 0) return q;
int r = p % q;
return gcd(q,r);
}
最小公倍数
当我们在已知最大公约数的情况下,最小公倍数 = (p * q) / 最大公约数
计算两个非负整数p和q的最大公约数:若q是0,则最大公约数为p。否则,将p处以q得到余数r,p和q的最大公约数即为q和r的最大公约数。
代码:
public static int gcd(int p,int q)
{
if(q == 0) return q;
int r = p % q;
return gcd(q,r);
}
当我们在已知最大公约数的情况下,最小公倍数 = (p * q) / 最大公约数