Yo creo que deben indicar un poco mejor las reglas. Ya que no específicas mucho en ellas. Por ejemplo
1. No requiere de validación ya que se espera que se le esté brindando el valor correcto.
2. Debe ser todo en una sola función con el nombre
romanNumber.
Código PHP:
Ver originalfunction romanNumber($number){
$romanNumber = '';
return $romanNumber;
}
3. (Recomendación) No se permite que sea clase (tu dirás si quieres cambiarlo).
4. Debe funcionar en versiones desde la 5.0.0 hasta la 5.2.14
5. Para verificar que tu código esté bien puedes usar esta función (tomo la que
creo GatorV y la modifico para que funcione en este código)
Código PHP:
Ver original<?php
include('romanNumber.php'); // o el archivo donde tengan su funcion
function assert_equals($string1, $string2)
{
return($string1 == $string2);
}
4 => 'IV',
16 => 'XVI',
66 => 'LXVI',
21 => 'XXI',
67 => 'LXVII',
13 => 'XIII',
14 => 'XIV',
34 => 'XXXIV',
100 => 'C',
50 => 'L',
129 => 'CXXIX',
750 => 'DCCL',
933 => 'CMXXXIII',
1000 => 'M',
473 => 'CDLXXIII',
333 => 'CCCXXXIII',
);
echo "SALIDA DE romanNumber:<br />\n";
echo "<table><tr><th>Prueba</th><th>Esperado</th><th>Salida</th><th>Resultado</th></tr>";
foreach ($tests as $test => $result) {
$rresult = romanNumber($test);
echo "<tr><td>$test</td><td>$result</td><td>$rresult</td><td>". (assert_equals($rresult, $result) ? 'OK' : 'FAIL') . "</td></tr>";
}
echo "</table>";
Verifiquen que los valores que indico sean correcto, puede que se me haya escapado alguno que otro