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

来源:互联网 发布:深交所网络投票系统 编辑:程序博客网 时间:2024/05/23 15:41
//求最大公约数
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);
}

原创粉丝点击