求最小公倍数算法:
最小公倍数=两整数的乘积÷最大公约数
求最大公约数算法:
辗转相除法
有两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数
③ 若c≠0,则a=b,b=c,再回去执行①
例如求27和15的最大公约数过程为:
27÷15 余1215÷12余312÷3余0因此,3即为最大公约数
unsigned a, b;
while (cin >> a >> b)
{
if (a < b)swap(a, b); //交换a,b两数,保证a比b大
unsigned m=a, n=b, c;
c = a%b;
while (c)
{
a = b;
b = c;
c = a%b;
}//退出循环时,b即为最大公约数
cout << m*n / b << endl;
}