Project Euler: Matemática y programación

Ariel Palazzesi . Vista 12045 veces

Si perteneces al grupo de personas que gustan de enfrentarse a un buen desafío, Project Euler es ideal para ti. Se trata de una serie de problemas que involucran matemáticas y programación, que los aficionados deben intentar resolver. En este momento hay 309 problemas propuestos, y en pocas horas estará disponible el número 310. ¿Te animas a ser el primero en resolverlo?


  • No son pocos los programadores que gustan de los problemas matemáticos. También es cierto que a muchos matemáticos les gusta programar. A ambos grupos seguramente les interesará conocer el denominado Project Euler, una colección de desafíos que requieren de talento matemático y habilidades relacionadas con la programación para ser resueltos. El objetivo del proyecto es simplemente estimular a los participantes a desarrollar mejores habilidades de programación, aprender conceptos nuevos y -sobre todo- divertirse. El nombre de este proyecto honra a Leonhard Euler, el brillante matemático y físico Suizo cuyo aporte más conocido es el número de Euler (e ≈ 2.71828), utilizado como base del logaritmo natural. Euler realizó trabajos relacionados con el Cálculo infinitesimal, la Teoría de Grafos, la dinámica de fluidos, óptica y astronomía. Por todo esto se lo considera uno de los matemáticos más importantes de todos los tiempos.

    Utilizando “fuerza bruta” eso no se resuelve en menos de un minuto. (Flickr/JaulaDeArdilla) Utilizando “fuerza bruta” eso no se resuelve en menos de un minuto. (Flickr/JaulaDeArdilla)

    Los problemas propuestos (periódicamente se van agregando nuevos) suelen ser bastante complicados, pero con un poco de imaginación, habilidad matemática y una buena dosis de lógica, los podrás resolver. Para conocerlos no hace falta registrarse. Con solo visitar la web puedes acceder a la lista de problemas disponibles y comenzar a resolverlos. Pero si quieres ir “sumando puntos” a medida que los resuelves, puedes crearte una cuenta de usuario (solo necesitas unos segundos para hacerlo), y comenzar a recorrer la lista de problemas como todo un profesional. Un aspecto interesante del Project Euler es que -si los encaras de la forma correcta- los problemas propuestos se resuelven utilizando un ordenador poco potente en menos de un minuto. Por ejemplo, el problema número 48 dice: “Encuentra los últimos 10 dígitos de la serie  1¹ + 2² + ... + 1000¹⁰⁰⁰.” Está claro que utilizando “fuerza bruta” eso no se resuelve en menos de un minuto, por lo que deberás concentrarte en encontrar un algoritmo eficiente que te evite esperar años mientras tu pobre ordenador trabaja.

    Puedes usar tu lenguaje de programación favorito (Wikimedia/Varyvol) Puedes usar tu lenguaje de programación favorito (Wikimedia/Varyvol)

    Solo se debe brindar la respuesta correcta. No importa la forma en que hayas escrito tu programa, algo bastante lógico ya que siempre hay varios caminos para lograr el mismo objetivo. Eso significa que puedes usar tu lenguaje de programación favorito (Java, PHP, Cobol, Pascal, C, C++, ensamblador o incluso el BASIC de tu vieja Commodore 64) para resolver cada problema. Cuando lo hayas hecho, tendrás acceso a un foro en el que podrás comparar tu solución con la de otros participantes y ver quien obtuvo la mejor, algo que seguramente te ayudará a mejorar tu estilo y resolver los próximos problemas. Por supuesto, si buscas un poco por la red encontrarás las respuestas a casi todos los desafíos planteados y podrás avanzar rápidamente hacia el final. Y de paso, perderás la oportunidad de aprovechar esta genial idea para aprender un montón de cosas nuevas mientras encaras estos desafíos. En definitiva, y a pesar de que no hay “premios” en el sentido tradicional de la palabra, Project Euler puede hacer de ti un verdadero ganador. Si encaras cada problema con tiempo e ingenio, seguramente desarrollarás habilidades nuevas, descubrirás métodos de optimización que ignorabas y pasarás muchas horas entretenido. ¡Y gratis! En este momento hay 309 problemas propuestos, y en pocas horas estará disponible el número 310. ¿Te animas a ser el primero en resolverlo?

    Sitio oficial del  Project Euler

¿Y tú, qué opinas?

  • #1 Nucky
    Nucky sábado, 13 de noviembre de 2010, 16:54

    Me voy a animar a resolver estos problemillas =P, siempre hay algo que aprender.

    Instalando Visual C++ 2010...

    Responder >> Attention Minus Plus Votos: -2 de 4
  • #2 wilfo
    wilfo sábado, 13 de noviembre de 2010, 17:55

    Con mi favorito netebans aqui vamos...

    Responder >> Attention Minus Plus Votos: -1 de 1
  • #3 Sorancio
    Sorancio sábado, 13 de noviembre de 2010, 18:07

    Yo ya voy por el problema 10, no es mucho, pero se va avanzando poco a poco xD.

    Responder >> Attention Minus Plus Votos: 2 de 2
  • #4 <a href="../../foro/member.php?u=21978" target="_self">nelfigue</a>
    nelfigue sábado, 13 de noviembre de 2010, 19:33

    Yo voy a utilizar Mathematica 7.0 para intentar resolverlos

    Responder >> Attention Minus Plus Votos: 0 de 2
  • #5 <a href="../../foro/member.php?u=29692" target="_self">viclautro</a>
    viclautro sábado, 13 de noviembre de 2010, 21:33

    no puedo pasar del 8 :(

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #6 Sorancio
    Sorancio sábado, 13 de noviembre de 2010, 21:45

    #5[SPOILER]La forma más fácil es generar tu las secuencias de 4 caracteres e ir buscándolas en el vector de dígitos del número tan largo que te dan. Osea, a lo fácil, convertir el número que te dan a una cadena, ir generando las secuencias de 4 dígitos, y si se encuentran, hacer el producto, y así hasta encontrar la mayor. Por supuesto, ignorar aquellas cadenas que tengan un 0.[/SPOILER]

    Responder >> Attention Minus Plus Votos: 0 de 4
  • #7 arcr
    arcr sábado, 13 de noviembre de 2010, 22:09

    Heeeeeeeeeeeeeee!!!!, resolví el primero y en poco tiempo(para mi), unos 20 minutos, aunque no lo hice con programación sino con calculadora pero igual cuenta ya q solo te piden el resultado. Obviamente no voy a dar la respuesta.
    Saludos

    Responder >> Attention Minus Plus Votos: 1 de 1
  • #8 Fantoche
    Fantoche sábado, 13 de noviembre de 2010, 22:24

    #7eres un gilipollas

    Responder >> Attention Minus Plus Votos: -15 de 21
  • #9 friki
    friki sábado, 13 de noviembre de 2010, 22:31

    Pues yo lo voy a intentar con MatLab a ver que pasa.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #10 <a href="../../foro/member.php?u=25500" target="_self">renny23</a>
    renny23 sábado, 13 de noviembre de 2010, 23:26

    #5[spoiler]tomas tu navegador favorito presinas ctrl+f y escribes el mayor numero de un solo digito (9) de todos los 9 que se resaltan tomas el que tiene los numeros de mayor valor a los lados y has el producto...listo eso nisiquiera es un problema me tomo 30 segundos hacerlo[/spoiler]

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #11 <a href="../../foro/member.php?u=29120" target="_self">Triton</a>
    Triton sábado, 13 de noviembre de 2010, 23:34

    #8El que realmente lo es es el que les llama a los demas eso y ademas ni mira como hacerlo.
    Vaya forma de quitar una ilusion a alguien !

    Responder >> Attention Minus Plus Votos: 7 de 9
  • #13 ingles
    ingles domingo, 14 de noviembre de 2010, 01:39

    el primero, (novato)

    http://www.fileden.com/files/2010/11/9/3011521//neo.jpg

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #14 <a href="../../foro/member.php?u=20324" target="_self">MayraSofi</a>
    MayraSofi domingo, 14 de noviembre de 2010, 02:26

    Ya voy a mirar la pagina, y tratare de resolverlos con VB.Net, y porque no, incluso Excel.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #15 Nucky
    Nucky domingo, 14 de noviembre de 2010, 04:00

    Esto resulto mas entretenido, divertido y dificil xD, me voy a juntar con un matematico en la universidad para compartir esta fuente de entretenimiento hahahaha.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #16 ano-nimo
    ano-nimo domingo, 14 de noviembre de 2010, 16:31

    #8gente como tu me dais pena

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #17 jan
    jan lunes, 15 de noviembre de 2010, 05:39

    hace unos meses comense y comense bien en unos tres o cuatro dias hice 12 problemas, la escuela no me ha dejado continuar, pero es muy interesante, te hacen pensar no solo en como resolver el problema sino el resolverlo de la forma mas optima pues de otra forma tu ordenador puede durar dias o semanas funcionando sin encontrar la respuesta....
    tambien te hace darte una idea de las velocidades de los lenguajes, por ejemplo en programas complicados utilice tanto java como python, y me di cuenta qe java gana en velocidad a python (algo que era de suponerse, pero que jamas lo habia experimentado) ahora me gustaria provar java contra c....
    me devolvieron las ganas de seguir con el proye...
    Leer más

    Responder >> Attention Minus Plus Votos: 2 de 2
  • #18 xyz765
    xyz765 sábado, 20 de noviembre de 2010, 07:51

    umm me interesa, creo que me divertire, mejorando mi programacion y mis matematicas.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • Cargando...Cargando...

  • nuevo comentario
    Nombre

    Campo obligatorio

    Email

    Escriba una dirección de correo electrónico con el formato sunombre@ejemplo.com.

    Campo obligatorio

 
Ir arriba