辗转相除法求两个数的最大公约数和最小公倍数
最大公约数:
int rmd(int x, int y)/* x为较大的数,y为较小的数 */
{
int t = x%y;
if (0 != t)
{
rmd(y, t);
}
else
{
return y;
}
}
最小公倍数:
int dmr(int x, int y, int xy)/* x为较大的数,y为较小的数,xy为两数的乘积,最小公倍数为两个数的乘积除以最大公约数 */
{
int t = x%y;
if (0 != t)
{
dmr(y, t, xy);
}
else
{
return xy/y;
}
}