您的位置:首页 > 编程语言 > PHP开发

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

2011-09-20 09:05 357 查看
//求最大公约数
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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php function