正文  电脑教程 > 服务器教程 >

PHP如何求最大公约数与最小公倍数

本文实例讲述了PHP编程求最大公约数与最小公倍数的方法。分享给大家供大家参考,具体如下: //求最大公约数 function max_divisor...

本文实例讲述了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;  //此处如果用echo $i;则输出结果为432;故应区分echo、return的区别
     }
   }
   return 1;
}
//求最小公倍数
function  min_multiple($a, $b)
{  if($b==0)   //一定要考虑除数不能为零
   {
     return $b;
   }else{
   $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));
   }
}
//加减法求最大公约数
function max_divisor3($a, $b)
{
   if ($a == $b)
   {
     return $a;
   }
   elseif($a > $b)
   {
     $a = $a-$b;
   }
   else
   {
     $b = $b-$a;
   }
   return max_divisor3($a, $b);
}