Cita:
Iniciado por Osdiwe
No puedo comprobar tu código porque creo que me falta activar alguna libreria para usar la función gmp_gcd() . ¿Sabes cual es?
¿Has probado la función con una fracción que no se pueda simplificar a ver qué resultado da? Porque si funciona es muuuucho más simple que las que te he pasado.
Código PHP:
<?php
function gmp_gcd($a, $b)
{
if ($a == 0 || $b == 0)
return abs( max(abs($a), abs($b)) );
$r = $a % $b;
return ($r != 0) ?
gmp_gcd($b, $r) :
abs($b);
}
$numerador = 20;
$denominador = 10;
$mcd = gmp_gcd($numerador, $denominador);
echo $mcd . '<br>';
$arriba = $numerador / $mcd;
$abajo = $denominador / $mcd;
$resultado = $arriba . '/' . $abajo;
echo $resultado; // devuleve 2/1