对于两个数的最大公约数 无非就是求两个数共同的最大因子,我们可以用两种方法来求
1、 用辗转相除法
① a%b得余数c ② 若c=0,则b即为两数的最大公约数 ③ 若c≠0,则a=b,b=c,再回去执行
若这两个数为15,10
15 % 10=5
① a%b得余数c ② 若c=0,则b即为两数的最大公约数 ③ 若c≠0,则a=b,b=c,再回去执行
若这两个数为15,10
15 % 10=5
10 ,5
10 %5=0 那么最大公约数就是5
2、在两个数各因子中找,往往这个最大公约数小于等于这两个数中的最小数
a * b除以最大公约数 等于最小公倍数
10 %5=0 那么最大公约数就是5
2、在两个数各因子中找,往往这个最大公约数小于等于这两个数中的最小数
int GreatestComDiv(int m,int n)
{
int r;
while((r=m%n) != 0)
{
m = n;
n = r;
}
return n;
最小公倍数求法
a * b除以最大公约数 等于最小公倍数
int LeastComMult(int m,int n)
{
return m/GreatestComDiv(m,n) * n;//调用上边的函数最大公约数
}