Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/08/2010, 20:47
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Códigos - Reto Romanos

dedydamy

Código PHP:
Ver original
  1. <?php
  2. function romanNumber($entrada) {
  3. if ($entrada <0 || $entrada >9999) {return -1;}
  4. $primero = array(1=>"I", 2=>"II", 3=>"III", 4=>"IV", 5=>"V", 6=>"VI", 7=>"VII", 8=>"VIII", 9=>"IX");
  5. $segundo = array(1=>"X", 2=>"XX", 3=>"XXX", 4=>"XL", 5=>"L", 6=>"LX", 7=>"LXX", 8=>"LXXX", 9=>"XC");
  6. $tercero = array(1=>"C", 2=>"CC", 3=>"CCC", 4=>"CD", 5=>"D", 6=>"DC", 7=>"DCC", 8=>"DCCC", 9=>"CM");
  7. $cuarto = array(1=>"M", 2=>"MM", 3=>"MMM", 4=>"MMMM", 5=>"MMMMM", 6=>"MMMMMM", 7=>"MMMMMMM", 8=>"MMMMMMMM", 9=>"MMMMMMMMM");
  8. $unos = $entrada % 10;
  9. $diezes = ($entrada - $unos) % 100;
  10. $cientos = ($entrada - $diezes - $unos) % 1000;
  11. $cmolvido = ($entrada - $cientos - $diezes - $unos) % 10000;
  12. $diezes = $diezes / 10;
  13. $cientos = $cientos / 100;
  14. $cmolvido = $cmolvido / 1000;
  15. if ($cmolvido) {$salida .= $cuarto[$cmolvido];}
  16. if ($cientos) {$salida .= $tercero[$cientos];}
  17. if ($diezes) {$salida .= $segundo[$diezes];}
  18. if ($unos) {$salida .= $primero[$unos];}
  19. return $salida;
  20. }
  21. ?>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com