¿Crees que sabes programar? El proyecto Euler te pone a prueba.

creative commons license by Cory DoctorowEl proyecto Euler es una comunidad dedicada a la presentación y solución de problemas mediante código. Puedes utilizar cualquier lenguaje de programación, y en algunas ocasiones tendrás que aprender algo de matemáticas para solucionar los problemas. Lo consideramos un reto interesante por el que todo programador debería darse un paseo alguna vez.

¿Estás aprendiendo a programar? ¿Estudias informática? ¿Refrescando tus viejos conocimientos sobre programación? ¿Crees que eres un buen programador? ¿Quieres superar tus límites? ¿Te gustaría compararte con otros programadores de todo el mundo? ¿Quieres mejorar tu currículum estando en la élite de los programadores? Este proyecto te ofrece esto y mucho más, infinitas horas de entretenimiento estudiando problemas y la satisfacción de alcanzar su resolución.

¿Qué problemas encontraremos en el Proyecto Euler? ¿Cuál es su dificultad?

Los problemas son típicos problemas matemáticos y algorítmicos, que incluyen sumas de números que cumplan ciertas condiciones, cálculo de factoriales, números primos, productos de series, estudios de tablas, contar letras, y muchos más que te harán refrescar tus conocimientos de programación. En el momento de escribir estas líneas hace poco tiempo que se alcanzó la lista de los 500 problemas.

Cada uno de los problemas está calificado según su dificultad, que se asigna teniendo en cuenta el número de personas que lo han resuelto y el tiempo que ha llevado a presentar la resolución a los problemas. Así, los primeros problemas los han resuelto casi doscientas mil almas programadoras, mientras que los más difíciles los han resuelto apenas 44 personas. ¿Te atreves a echarles un vistazo?

¿Cómo funciona?

En el proyecto hay registrados cientos de miles de personas. En el momento de registrarte, eliges un usuario y contraseña, y ya puedes ponerte a programar. Los problemas están numerados y tienes para todos ellos una estadística de personas que los han resuelto y un índice de dificultad. Tan solo tienes que elegir un problema y ponerte a tratar de resolverlo de la mejor forma posible. Nunca está de más echar un vistazo a alguno de tus empolvados libros de matemáticas, pues con frecuencia un “truco”, una transformada, una propiedad de los números, etc, puede simplificar mucho la tarea de resolución.

Para demostrar que has resuelto el problema, tienes que enviar un número que consiste en la solución al enunciado. El número se puede obtener de múltiples formas (¡no, copiarlo no vale!), pero idealmente deberías de haber escrito tu propio algoritmo que resuelva el problema en tu ordenador en menos de un minuto. Que no… que no tienes que programarlo en menos de un minuto, nos referimos a que el tiempo de ejecución debería de ser menor a un minuto, incluso si utilizas fuerza bruta en tu código. Si tu algoritmo tarda más, siempre tendrás la posibilidad de revisarlo a ver cómo se puede optimizar.

Además, cuando resuelvas un problema, tendrás acceso a un foro donde se discute sobre él, así que quizás puedas/quieras compartir tu solución con otras personas y discutir las mejores soluciones encontradas a los problemas, creando toda una comunidad de programadores eulerianos.

Por cada veinticinco problemas que resuelvas, habrás ascendido un nivel que quedará reflejado en tu perfil. En el momento de escribir, hay 19 niveles, empezando en el cero. El primer nivel lo han alcanzado 38000 personas, mientras que el máximo tan sólo 45. También tienen los típicos “premios” (badges) que obtendrás por resolver grupos de problemas concretos o por hacer avances significativos en tu programación

Cada fin de semana sale un problema nuevo a la luz (menos en vacaciones), así que tienes problemas más que suficientes para entretenerte durante un largo período de tiempo.

¿Nos animamos?

En nociones.de hemos decidido dar un buen uso de algo de nuestro tiempo para programar algunos de los retos. No prometemos constancia ni rapidez, pero prometemos ponernos a ello. Como dice el refrán, lo importante es el camino, y entre proyecto y proyecto encontraremos seguro un rato para echar unas líneas de código a la pantalla.

Encuentra el proyecto en la siguiente página: projecteuler.net

Si te preguntas por la imagen de la cabecera del artículo, consiste en la identidad de Euler, un caso concreto de la fórmula de Euler que relaciona algunos de los números más comúnmente utilizados en matemáticas.

¿Y tú? ¿Ya te has animado? ¡Coméntanos tu experiencia en los comentarios!

(Visto 113 vecess, 1 visitas hoy)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *