Foros del Web » Programando para Internet » PHP »

Reto: Números Romanos

Estas en el tema de Reto: Números Romanos en el foro de PHP en Foros del Web. RETO bueno, así las cosas entonces propongo uno clásico "crear un número aleatorio, de 0 a 1000 (opcional hasta 10000) y convertir dicho número a ...

  #1 (permalink)  
Antiguo 15/08/2010, 23:20
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Reto: Números Romanos

RETO

bueno, así las cosas entonces propongo uno clásico

"crear un número aleatorio, de 0 a 1000 (opcional hasta 10000)
y convertir dicho número a su correspondiente en romano,
y finalmente mostrar ambos números"


Condiciones

además, se tendrá en cuenta para determinar el ganador lo siguiente:
- Identación
- Uso de arrays (no obligatorio, solo si se quiere)
- Expresiones regulares (no obligatorio, solo si se quiere)
- Clase o funciones (no obligatorio, si se quiere)

Límite Entrega: 2010-08-19
Medio Entrega: via e-mail ([email protected])
Resultado: 2010-08-20
__________________
"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

Última edición por mortiprogramador; 16/08/2010 a las 01:06
  #2 (permalink)  
Antiguo 15/08/2010, 23:42
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Competencias PHP

¿Para cuando el resultado y a quien y donde? Por favor no escriban su respuesta hasta que se indique el momento y a quien se le dará el código para que escriba todos de corrido.

Edito:
Propongo que sea hasta el 1000 y el que quiera hasta el 10000.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 15/08/2010 a las 23:48
  #3 (permalink)  
Antiguo 16/08/2010, 00:00
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Competencias PHP

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Para cuando el resultado y a quien y donde? Por favor no escriban su respuesta hasta que se indique el momento y a quien se le dará el código para que escriba todos de corrido.

Edito:
Propongo que sea hasta el 1000 y el que quiera hasta el 10000.
reto actualizado
__________________
"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
  #4 (permalink)  
Antiguo 16/08/2010, 00:02
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Competencias PHP

Cita:
Iniciado por mortiprogramador Ver Mensaje
ese link me lleva a la pagina 1 de este post
__________________
la la la
  #5 (permalink)  
Antiguo 16/08/2010, 00:04
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Competencias PHP

Cita:
Iniciado por truman_truman Ver Mensaje
ese link me lleva a la pagina 1 de este post
cierto (por ahora) pero en la página 1 te lleva al post del reto que yo hice (al permalink)
si no es así, cual navegador usas?
__________________
"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
  #6 (permalink)  
Antiguo 16/08/2010, 00:06
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Competencias PHP

Cita:
Iniciado por abimaelrc Ver Mensaje
Edito:
Propongo que sea hasta el 1000 y el que quiera hasta el 10000.
bien xq asta el 10 hic algo sencillo en 5 lineas jaja ya me olia feo esa sencillez que hice jaja
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 16/08/2010, 00:07
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Competencias PHP

Cita:
Iniciado por mortiprogramador Ver Mensaje
cierto (por ahora) pero en la página 1 te lleva al post del reto que yo hice (al permalink)
si no es así, cual navegador usas?
Firefox


edito:

los links son distintos amigo

este es el que pusiste en actualizado
http://www.forosdelweb.com/f18/compe...5/#post3520162


este es el de tu post
http://www.forosdelweb.com/f18/compe...ml#post3520162
__________________
la la la

Última edición por truman_truman; 16/08/2010 a las 00:16
  #8 (permalink)  
Antiguo 16/08/2010, 00:27
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Competencias PHP

uhm, pues no se que sea truman_truman,
ambos enlaces que dejaste me llevan al mismo sitio,
y ya intente también directamente donde deje el "actualizado"
y me envia bien, alguien más tiene el issue de truman_truman?

edito: probe en otro navegador sin iniciar sesión
y ocurre lo que dices, tal vez probaste en un punto donde
se te acabo la sesión en forosdelweb?
__________________
"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
  #9 (permalink)  
Antiguo 16/08/2010, 00:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Competencias PHP

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 original
  1. function romanNumber($number){
  2.     $romanNumber = '';
  3.     return $romanNumber;
  4. }
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
  1. <?php
  2. include('romanNumber.php'); // o el archivo donde tengan su funcion
  3. function assert_equals($string1, $string2)
  4. {
  5.     return($string1 == $string2);
  6. }
  7.  
  8. $tests = array(
  9.     4 => 'IV',
  10.     16 => 'XVI',
  11.     66 => 'LXVI',
  12.     21 => 'XXI',
  13.     67 => 'LXVII',
  14.     13 => 'XIII',
  15.     14 => 'XIV',
  16.     34 => 'XXXIV',
  17.     100 => 'C',
  18.     50 => 'L',
  19.     129 => 'CXXIX',
  20.     750 => 'DCCL',
  21.     933 => 'CMXXXIII',
  22.     1000 => 'M',
  23.     473 => 'CDLXXIII',
  24.     333 => 'CCCXXXIII',
  25. );
  26. echo "SALIDA DE romanNumber:<br />\n";
  27. echo "<table><tr><th>Prueba</th><th>Esperado</th><th>Salida</th><th>Resultado</th></tr>";
  28. foreach ($tests as $test => $result) {
  29.     $rresult = romanNumber($test);
  30.     echo "<tr><td>$test</td><td>$result</td><td>$rresult</td><td>". (assert_equals($rresult, $result) ? 'OK' : 'FAIL') . "</td></tr>";
  31. }
  32. echo "</table>";

Verifiquen que los valores que indico sean correcto, puede que se me haya escapado alguno que otro
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 16/08/2010 a las 02:11
  #10 (permalink)  
Antiguo 16/08/2010, 01:03
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Competencias PHP

Cita:
Iniciado por abimaelrc Ver Mensaje
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 original
  1. function romanNumber($number){
  2.     $romanNumber = '';
  3.     return $romanNumber;
  4. }
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
  1. <?php
  2. include('romanNumber.php'); // o el archivo donde tengan su funcion
  3. function assert_equals($string1, $string2)
  4. {
  5.     return($string1 == $string2);
  6. }
  7.  
  8. $tests = array(
  9.     4 => 'IV',
  10.     16 => 'XVI',
  11.     66 => 'LXVI',
  12.     21 => 'XXI',
  13.     67 => 'LXVII',
  14.     13 => 'XII',
  15.     14 => 'XIV',
  16.     34 => 'XXXIV',
  17.     100 => 'C',
  18.     50 => 'L',
  19.     129 => 'CXXIX',
  20.     750 => 'DCCL',
  21.     933 => 'CMXXXIII',
  22.     1000 => 'M',
  23.     473 => 'CDLXXIII',
  24.     333 => 'CCCXXXIII',
  25. );
  26. echo "SALIDA DE romanNumber:<br />\n";
  27. echo "<table><tr><th>Prueba</th><th>Esperado</th><th>Salida</th><th>Resultado</th></tr>";
  28. foreach ($tests as $test => $result) {
  29.     $rresult = romanNumber($test);
  30.     echo "<tr><td>$test</td><td>$result</td><td>$rresult</td><td>". (assert_equals($rresult, $result) ? 'OK' : 'FAIL') . "</td></tr>";
  31. }
  32. echo "</table>";

Verifiquen que los valores que indico sean correcto, puede que se me haya escapado alguno que otro
bueno, aquí de nuevo retornamos al tema de los niveles de conocimiento de los participantes, pues si estan acostumbrados a programación estructurada no tendrán claro el concepto de función o clase (por eso las puse opcionales),
y pues respecto a la versión de php vamos al mismo tema, así que por ese lado propondría que como ya habian dicho otros, se hagan "tipos de retos" y cada tipo tenga unos prerequisitos (saber de funciones y versiones de php por ej)

pero como la división esta en estudio imagino, entonces no cerre tanto el espectro para no dejar por fuera a quienes puedan estar interesados pero no tengan claro esos conceptos, espero que los moderadores definan algo al respecto, por ahora lo dejo con las primeras recomendaciones que hiciste

saludos
__________________
"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
  #11 (permalink)  
Antiguo 16/08/2010, 01:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Competencias PHP

Bueno que los participantes digan si lo que se propuso no lo saben hacer. Si lo saben hacer, entonces tú decides. Bueno yo por mi parte ya tengo casi terminado el código
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #12 (permalink)  
Antiguo 16/08/2010, 02:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Competencias PHP

Ya lo terminé, quedo el resultado
Código Tabla:
Ver original
  1. SALIDA DE romanNumber:
  2. Prueba  Esperado    Salida      Resultado
  3. 4       IV          IV          OK
  4. 16      XVI         XVI         OK
  5. 66      LXVI        LXVI        OK
  6. 21      XXI         XXI         OK
  7. 67      LXVII       LXVII       OK
  8. 13      XIII        XIII        OK
  9. 14      XIV         XIV         OK
  10. 34      XXXIV       XXXIV       OK
  11. 100     C           C           OK
  12. 50      L           L           OK
  13. 129     CXXIX       CXXIX       OK
  14. 750     DCCL        DCCL        OK
  15. 933     CMXXXIII    CMXXXIII    OK
  16. 1000    M           M           OK
  17. 473     CDLXXIII    CDLXXIII    OK
  18. 333     CCCXXXIII   CCCXXXIII   OK
  19. 70      LXX         LXX         OK
  20. 705     DCCV        DCCV        OK
Ahora esperar a que los demás indiquen

Edito:
Añadí otros números al ejercicio, este fue el que probé
Código PHP:
Ver original
  1. <?php
  2. include('romanNumber.php'); // o el archivo donde tengan su funcion
  3. function assert_equals($string1, $string2)
  4. {
  5.     return($string1 == $string2);
  6. }
  7.  
  8. $tests = array(
  9.     4 => 'IV',
  10.     16 => 'XVI',
  11.     66 => 'LXVI',
  12.     21 => 'XXI',
  13.     67 => 'LXVII',
  14.     13 => 'XIII',
  15.     14 => 'XIV',
  16.     34 => 'XXXIV',
  17.     100 => 'C',
  18.     50 => 'L',
  19.     129 => 'CXXIX',
  20.     750 => 'DCCL',
  21.     933 => 'CMXXXIII',
  22.     1000 => 'M',
  23.     473 => 'CDLXXIII',
  24.     333 => 'CCCXXXIII',
  25.     70 => 'LXX',
  26.     705 => 'DCCV',
  27. );
  28. echo "SALIDA DE romanNumber:<br />\n";
  29. echo "<table><tr><th>Prueba</th><th>Esperado</th><th>Salida</th><th>Resultado</th></tr>";
  30. foreach ($tests as $test => $result) {
  31.     $rresult = romanNumber($test);
  32.     echo "<tr><td>$test</td><td>$result</td><td>$rresult</td><td>". (assert_equals($rresult, $result) ? 'OK' : 'FAIL') . "</td></tr>";
  33. }
  34. echo "</table>";
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 16/08/2010 a las 03:01
  #13 (permalink)  
Antiguo 16/08/2010, 03:18
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Competencias PHP

Cita:
Iniciado por abimaelrc Ver Mensaje
Ya lo terminé, quedo el resultado
Código Tabla:
Ver original
  1. SALIDA DE romanNumber:
  2. Prueba    Esperado    Salida        Resultado
  3. 4        IV            IV            OK
  4. 16        XVI            XVI            OK
  5. 66        LXVI        LXVI        OK
  6. 21        XXI            XXI            OK
  7. 67        LXVII        LXVII        OK
  8. 13        XIII        XIII        OK
  9. 14        XIV            XIV            OK
  10. 34        XXXIV        XXXIV        OK
  11. 100        C            C            OK
  12. 50        L            L            OK
  13. 129        CXXIX        CXXIX        OK
  14. 750        DCCL        DCCL        OK
  15. 933        CMXXXIII    CMXXXIII    OK
  16. 1000    M            M            OK
  17. 473        CDLXXIII    CDLXXIII    OK
  18. 333        CCCXXXIII    CCCXXXIII    OK
  19. 70        LXX            LXX            OK
  20. 705        DCCV        DCCV        OK
Ahora esperar a que los demás indiquen

Edito:
Añadí otros números al ejercicio, este fue el que probé
Código PHP:
Ver original
  1. <?php
  2. include('romanNumber.php'); // o el archivo donde tengan su funcion
  3. function assert_equals($string1, $string2)
  4. {
  5.     return($string1 == $string2);
  6. }
  7.  
  8. $tests = array(
  9.     4 => 'IV',
  10.     16 => 'XVI',
  11.     66 => 'LXVI',
  12.     21 => 'XXI',
  13.     67 => 'LXVII',
  14.     13 => 'XIII',
  15.     14 => 'XIV',
  16.     34 => 'XXXIV',
  17.     100 => 'C',
  18.     50 => 'L',
  19.     129 => 'CXXIX',
  20.     750 => 'DCCL',
  21.     933 => 'CMXXXIII',
  22.     1000 => 'M',
  23.     473 => 'CDLXXIII',
  24.     333 => 'CCCXXXIII',
  25.     70 => 'LXX',
  26.     705 => 'DCCV',
  27. );
  28. echo "SALIDA DE romanNumber:<br />\n";
  29. echo "<table><tr><th>Prueba</th><th>Esperado</th><th>Salida</th><th>Resultado</th></tr>";
  30. foreach ($tests as $test => $result) {
  31.     $rresult = romanNumber($test);
  32.     echo "<tr><td>$test</td><td>$result</td><td>$rresult</td><td>". (assert_equals($rresult, $result) ? 'OK' : 'FAIL') . "</td></tr>";
  33. }
  34. echo "</table>";
te rindió! lo probare entonces, pero pregunto algo, lo enviaste al mail? es decir, si bien te entendi la publicación y eso lo hacia yo de corrido no? bueno, pues solo a modo de observación, saludos
__________________
"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
  #14 (permalink)  
Antiguo 16/08/2010, 07:20
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Competencias PHP

bueno al parecer no podre concursar esta ves :(
estoy con mucho trabajo y este post avanza muy rápido.. no alcanzo ni a saber en que quedan x'D!

bueno para otra ves sera ;)
suerte !
__________________
More about me...
~ @rhyudek1
~ Github
  #15 (permalink)  
Antiguo 16/08/2010, 08:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Competencias PHP

Cita:
Iniciado por mortiprogramador Ver Mensaje
te rindió! lo probare entonces, pero pregunto algo, lo enviaste al mail? es decir, si bien te entendi la publicación y eso lo hacia yo de corrido no? bueno, pues solo a modo de observación, saludos
O sea lo terminé, pero voy a esperar a la fecha de entrega. Y es a ti a quien hay que darlo.

Hidek1, solo es convertir los números del 1 al 1000 a romanos y tienes hasta el 19 de este mes para entregar. Luego hay la de pateke que va a verificar con más detalle las base de la competencia.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #16 (permalink)  
Antiguo 16/08/2010, 11:33
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Competencias PHP

ok.. are lo que pueda.. haber que me sale =)

PD: jojojo listo.. =)!!! alguna regla en especial?... omitan que sea entendible por que realmente no se entiende nada de lo que ise.. pero funciona x'D!


Código HTML:
Ver original
  1. SALIDA DE romanNumber:
  2. Prueba  Esperado    Salida  Resultado
  3. 4   IV  IV  OK
  4. 16  XVI XVI OK
  5. 66  LXVI    LXVI    OK
  6. 21  XXI XXI OK
  7. 67  LXVII   LXVII   OK
  8. 13  XIII    XIII    OK
  9. 14  XIV XIV OK
  10. 34  XXXIV   XXXIV   OK
  11. 100 C   C   OK
  12. 50  L   L   OK
  13. 129 CXXIX   CXXIX   OK
  14. 750 DCCL    DCCL    OK
  15. 933 CMXXXIII    CMXXXIII    OK
  16. 1000    M   M   OK
  17. 473 CDLXXIII    CDLXXIII    OK
  18. 333 CCCXXXIII   CCCXXXIII   OK
  19. 70  LXX LXX OK
  20. 705 DCCV    DCCV    OK

podrias poner mas de estas cosas para probar si en realidad esta bien .. :P
__________________
More about me...
~ @rhyudek1
~ Github

Última edición por Hidek1; 16/08/2010 a las 11:44
  #17 (permalink)  
Antiguo 16/08/2010, 13:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Competencias PHP

Para los que van a hacer más de los 1000, los símbolos son los mismos que los anteriores a excepción que tienen una línea encima y eso lo puedes lograr con CSS.
Código PHP:
Ver original
  1. /*
  2. Los que son de más de 1000 son
  3.     5000 -> '<span style="text-decoration: overline">V</span>
  4.     10000 -> '<span style="text-decoration: overline">X</span>
  5.     50000 -> '<span style="text-decoration: overline">L</span>
  6.     100000 -> '<span style="text-decoration: overline">C</span>
  7.     500000 -> '<span style="text-decoration: overline">D</span>
  8.     1000000 -> '<span style="text-decoration: overline">M</span>
  9. */
  10.  
  11. function assert_equals($string1, $string2)
  12. {
  13.     return($string1 == $string2);
  14. }
  15.  
  16. $tests = array(
  17.     4 => 'IV',
  18.     16 => 'XVI',
  19.     66 => 'LXVI',
  20.     21 => 'XXI',
  21.     67 => 'LXVII',
  22.     13 => 'XIII',
  23.     14 => 'XIV',
  24.     34 => 'XXXIV',
  25.     100 => 'C',
  26.     50 => 'L',
  27.     129 => 'CXXIX',
  28.     750 => 'DCCL',
  29.     933 => 'CMXXXIII',
  30.     1000 => 'M',
  31.     473 => 'CDLXXIII',
  32.     333 => 'CCCXXXIII',
  33.     70 => 'LXX',
  34.     705 => 'DCCV',
  35.     0 => '',
  36.     10888 => '<span style="text-decoration: overline">X</span>DCCCLXXXVIII',
  37.     888888 => '<span style="text-decoration: overline">D</span><span style="text-decoration: overline">C</span><span style="text-decoration: overline">C</span><span style="text-decoration: overline">C</span><span style="text-decoration: overline">L</span><span style="text-decoration: overline">X</span><span style="text-decoration: overline">X</span><span style="text-decoration: overline">X</span><span style="text-decoration: overline">V</span>MMMDCCCLXXXVIII',
  38.     888 => 'DCCCLXXXVIII',
  39.     789 => 'DCCLXXXIX',
  40.     987 => 'CMLXXXVII',
  41.     385 => 'CCCLXXXV',
  42.     1001 => 'MI',
  43.     3333 => 'MMMCCCXXXIII',
  44.     389 => 'CCCLXXXIX',
  45.     760 => 'DCCLX',
  46.     999 => 'CMXCIX',
  47. );
  48. echo "SALIDA DE romanNumber:<br />\n";
  49. echo "<table><tr><th>Prueba</th><th>Esperado</th><th>Salida</th><th>Resultado</th></tr>";
  50. foreach ($tests as $test => $result) {
  51.     $rresult = romanNumber($test);
  52.     echo "<tr><td>$test</td><td>$result</td><td>$rresult</td><td>". (assert_equals($rresult, $result) ? 'OK' : 'FAIL') . "</td></tr>";
  53. }
  54. echo "</table>";

Debe dar algo parecido a
Código PHP:
Ver original
  1. SALIDA DE romanNumber:
  2. Prueba  Esperado    Salida  Resultado
  3. 4   IV  IV  OK
  4. 16  XVI XVI OK
  5. 66  LXVI    LXVI    OK
  6. 21  XXI XXI OK
  7. 67  LXVII   LXVII   OK
  8. 13  XIII    XIII    OK
  9. 14  XIV XIV OK
  10. 34  XXXIV   XXXIV   OK
  11. 100 C   C   OK
  12. 50  L   L   OK
  13. 129 CXXIX   CXXIX   OK
  14. 750 DCCL    DCCL    OK
  15. 933 CMXXXIII    CMXXXIII    OK
  16. 1000    M   M   OK
  17. 473 CDLXXIII    CDLXXIII    OK
  18. 333 CCCXXXIII   CCCXXXIII   OK
  19. 70  LXX LXX OK
  20. 705 DCCV    DCCV    OK
  21. 0           OK
  22. 10888   XDCCCLXXXVIII   XDCCCLXXXVIII   OK
  23. 888888  DCCCLXXXVMMMDCCCLXXXVIII    DCCCLXXXVMMMDCCCLXXXVIII    OK
  24. 888 DCCCLXXXVIII    DCCCLXXXVIII    OK
  25. 789 DCCLXXXIX   DCCLXXXIX   OK
  26. 987 CMLXXXVII   CMLXXXVII   OK
  27. 385 CCCLXXXV    CCCLXXXV    OK
  28. 1001    MI  MI  OK
  29. 3333    MMMCCCXXXIII    MMMCCCXXXIII    OK
  30. 389 CCCLXXXIX   CCCLXXXIX   OK
  31. 760 DCCLX   DCCLX   OK
  32. 999 CMXCIX  CMXCIX  OK
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #18 (permalink)  
Antiguo 16/08/2010, 13:28
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Competencias PHP

hagan otro topic para que la gente se interese.. ya que los que entran al foro hace poco y ven un post de 14 hojas.. no van a querer leer todo para enterarse de que hay una nueva competencia!

abimaelrc quien va a moderar esta competencia?
__________________
More about me...
~ @rhyudek1
~ Github
  #19 (permalink)  
Antiguo 16/08/2010, 14:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Reto: Números Romanos

Bueno Hidek1, ya GatorV cumplió tu deseo, ahora solo falta que la gente diga si va a participar, el que está encargado de esta competencia es el primero que escribió, o sea mortiprogramador. Recomiendo que para los últimos dos días entreguen los códigos, por mensaje privado si desean.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #20 (permalink)  
Antiguo 16/08/2010, 14:38
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Reto: Números Romanos

:D gracias por el favor!!
ya tengo listo mi código .. aunque es una total aberración contra todo lo que es lectura veloz en php xD!
pero de todas formas me gusto como quedo.. así que inscribanme nomas :P

saludos!!!!!
__________________
More about me...
~ @rhyudek1
~ Github
  #21 (permalink)  
Antiguo 16/08/2010, 15:04
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Reto: Números Romanos

Bien, hola a todos, ya mandé mi codigo, espero que esté correcto, por lo menos funciona bien, lo que no sé es si esta correctamente confeccionado, pero bueno solo resta esperar
Gracias por hacer este tipo de cosas, es buenisimo , se aprende mucho
__________________
la la la
  #22 (permalink)  
Antiguo 16/08/2010, 15:06
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Reto: Números Romanos

vercia estoy echando coco ya yg hasta cierto punto pero q va me estan saliendo canas verdes con los resultados entre 50 y 100 y unos otros mas pero bueno seguire intentando a ver

Código:
Prueba	Esperado	Salida	Resultado
4	IV	IV	OK
16	XVI	XVI	OK
66	LXVI	LVIX	FAIL
21	XXI	XXI	OK
67	LXVII	LVIIX	FAIL
13	XIII	XIII	OK
14	XIV	XIV	OK
34	XXXIV	XXXIV	OK
100	C	C	OK
50	L	L	OK
129	CXXIX	CXXIX	OK
750	DCCL	DLCC	FAIL
933	CMXXXIII	XCXXXIII	FAIL
1000	M	M	OK
473	CDLXXIII	XLLIIIXX	FAIL
333	CCCXXXIII	CCCXXXIII	OK
70	LXX	LXX	OK
705	DCCV	DVCC	FAIL
se me cruzan los valores y hay unos de 900 q no estan llegando bien ya se me esta calcinando el cerebro y nanai nanai jajaj esperemos a ver q se da
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #23 (permalink)  
Antiguo 16/08/2010, 15:07
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Reto: Números Romanos

waujwaujawujaw vamos que se puede!! :)
__________________
More about me...
~ @rhyudek1
~ Github
  #24 (permalink)  
Antiguo 16/08/2010, 15:37
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Reto: Números Romanos

Pregunto, se puede postear lo que hice? osea yo ya lo terminé y se lo envié por mail, pero además, pregunto su está permitido postearlo aca... se puede?
__________________
la la la
  #25 (permalink)  
Antiguo 16/08/2010, 15:39
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Reto: Números Romanos

Cita:
Iniciado por truman_truman Ver Mensaje
Pregunto, se puede postear lo que hice? osea yo ya lo terminé y se lo envié por mail, pero además, pregunto su está permitido postearlo aca... se puede?
deberias esperar a q lo postee el q esta monitoriando ya q te pueden copiar el codigo no crees tu??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #26 (permalink)  
Antiguo 16/08/2010, 15:41
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Reto: Números Romanos

osea la idea de no postearlos aca es para que los demás participantes no tomen ideas de tu código y cosas así...
__________________
More about me...
~ @rhyudek1
~ Github
  #27 (permalink)  
Antiguo 16/08/2010, 15:42
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Reto: Números Romanos

ok ok , yo preguntaba porque vi que ya habían posteado cosas, pero bueno, la ansiedad me mataaaaaa jejeje
__________________
la la la
  #28 (permalink)  
Antiguo 16/08/2010, 15:55
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Reto: Números Romanos

Cita:
Iniciado por truman_truman Ver Mensaje
ok ok , yo preguntaba porque vi que ya habían posteado cosas, pero bueno, la ansiedad me mataaaaaa jejeje
te entiendo pero lo q hemos posteado es lo muestra como resultado de las pruebas con el codigo q nos proporciono abimael no nuestro codigo como tal
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #29 (permalink)  
Antiguo 16/08/2010, 15:56
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Reto: Números Romanos

Cita:
Iniciado por carlos_belisario Ver Mensaje
te entiendo pero lo q hemos posteado es lo muestra como resultado de las pruebas con el codigo q nos proporciono abimael no nuestro codigo como tal
Ok, la verdad es que yo hice algo totalmente distinto a eso
__________________
la la la
  #30 (permalink)  
Antiguo 16/08/2010, 16:07
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Reto: Números Romanos

Código PHP:
Ver original
  1. $start = microtime(true);
  2. for($i = 1; $i < 4000; $i++) {
  3.     echo $i . ' => ' . romanNumber($i) . '<br />';
  4. }
  5. echo 'Tiempo de ejecuci&oacute;n : ' . (microtime(true)-$start);

por si a alguien le sirve.. para que prueben el tiempo de ejecución de su código :P
__________________
More about me...
~ @rhyudek1
~ Github

Etiquetas: reto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 8 personas




La zona horaria es GMT -6. Ahora son las 08:32.