求最大公约数和最小公倍(PHP)
用程序求最大公约数和最小公倍数最容易想到的方法如下:
//求最大公约数
function max_divisor($a, $b)
{
$n = min($a, $b);
for($i=$n; $i>1; $i--)
{
if (is_int($a/$i) && is_int($b/$i))
{
return $i;
}
}
return 1;
}
//求最小公倍数
function min_multiple($a, $b)
{
$m = max($a, $b);
$n = min($a, $b);
for($i=2; ; $i++)
{
if (is_int($m*$i/$n))
{
return $i;
}
}
return $a*$b;
}
//辗转相除法求最大公约数
function max_divisor2($a, $b)
{
if($b==0)
{
return $a;
}
else
{
return max_divisor2($b,($a%$b));
}
}
//加减法求最大公