Ver Mensaje Individual
  #11 (permalink)  
Antiguo 20/08/2010, 20:54
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

quike88

Código PHP:
Ver original
  1. <?php
  2. function romanNumber($num) {
  3.     $romans = array(1=>'I',4=>'IV',5=>'V',9=>'IX',10=>'X',40=>'XL',50=>'L',90=>'XC',100=>'C',400=>'CD',500=>'D',900=>'CM',1000=>'M');
  4.     $romanNumber='';
  5.     $i=10;
  6.     while($num>0) {
  7.         $roman='';
  8.         $rom=$num%$i;
  9.         if($rom!=0){
  10.             if(!isset($romans[$rom])){
  11.                 $romdec=$rom/($i/10);
  12.                 if($romdec<5){
  13.                     for($j=1;$j<=$romdec;$j++)
  14.                         $roman.=$romans[($i/10)];
  15.                 }
  16.                 else {
  17.                     $roman=$romans[5*($i/10)];
  18.                     $romdec-=5;
  19.                     for($j=1;$j<=$romdec;$j++)
  20.                         $roman.=$romans[($i/10)];
  21.                 }
  22.                 $romanNumber=$roman.$romanNumber;
  23.             }
  24.             else        
  25.                 $romanNumber=$romans[$rom].$romanNumber;            
  26.         }
  27.         $num=floor($num/$i)*$i;
  28.         $i*=10;
  29.     }
  30.     return $romanNumber;
  31. }
  32. ?>
__________________
"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