您的位置:首页 > 其它

辗转取余法求最大公倍数及最小公约数

2014-09-20 16:18 239 查看
假设两个整数m,n的最大公约数为p,则两数的最大公倍数为q=*n/p。

问题描述:

求两个整数的m,n的最大公约数及最小公倍数?

例:

6 12 的最大公约数为6,最小公倍数为24;

3 2 的最大公约数为1,最小公倍数为6;

解决方案:

//得到最大公约数

int GreaterCommonDivisor(int m, int n) {

int r;

for (; r=m%n; m = n, n = r)

;

return n;

}

或者

int GreaterCommonDivisor(int m, int n) {

do {

r = m % n;

m = n;

n = r;

}while (r != 0);

return m;

}

求最小公倍数为m*n/最小公倍数


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: