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

Triby

Código PHP:
Ver original
  1. <?php
  2. function romanNumber($number) {
  3.     if($number < 0 || $number > 10000)
  4.         return '* error *';
  5.     $spanv = '<span style="border-top:1px #000 solid;">V</span>';
  6.     $spanx = '<span style="border-top:1px #000 solid;">X</span>';
  7.     if($number == 10000)
  8.         return $spanx;
  9.     $romans = array(
  10.         // Unidades
  11.         1 => array('', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'),
  12.         // Decenas
  13.         2 => array('', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'),
  14.         // Centenas
  15.         3 => array('', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM'),
  16.         // Millares
  17.         4 => array('', 'M', 'MM', 'MMM', 'MV', $spanv, $spanv . 'M', $spanv . 'MM', $spanv . 'MMM', 'M' . $spanx),
  18.     );
  19.     $rn = '';
  20.     $number = (string)$number;
  21.     $len = strlen($number);
  22.     for($i = $len; $i > 0; $i--)
  23.         $rn .= $romans[$i][$number[$len - $i]];
  24.     return $rn;
  25. }
  26.  
  27. // EOF;
__________________
"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