Proyecto Euler

Published on Author lopezLeave a comment

Hace unos meses, encontré este sitio del Proyecto Euler:

http://projecteuler.net/

El nombre hace referencia a Leonard Euler, uno de los semidioses de la historia de la matemática. Euler ha dejado su impronta en varias ramas de las matemáticas, desde el análisis al álgebra, de la teoría de números, a la topología (que prácticamente fundó con su problema de los puentes de Konigsberg). Vean por ejemplo, la lista de temas en matemáticas que llevan su nombre.

El Proyecto Euler es una serie de problemas, desafíos a resolver con programación. Algunos problemas matemáticos necesitan más esfuerzo que una demostración. Son generalmente problemas de ubicar números o estructuras que cumplan con alguna condición.

Para resolver los problemas planteados, se necesita:

– Habilidades de programación

– Habilidades matemáticas, para no encarar todo por fuerza

 

Tomemos como ejemplo, el problema 108:

En la ecuación:

1/x + 1/y = 1/n

x, y, n son números enteros. Con n = 4 hay tres soluciones distintas. ¿Cuál es el menor valor de n para el que hay mil soluciones distintas?

Claro, despues tenemos el problema 110, donde se pide ubicar el menor n que tenga CUATRO MILLONES de soluciones. Creo que la Commodore 64 nos va a quedar chica… 😉

Bueno, no tan así. La gente del proyecto nos asegura que si bien podemos tardar días en encontrar una solución adecuada de programación, el programa resultante no necesita horas de ejecución. Siguen la regla que llaman “de un minuto”: si bien encontrar el algoritmo correcto puede llevar horas, todo problema puede encontrar solución con un programa bien escrito en menos de un minuto, con una computadora modesta.

Eso es lo interesante. El encontrar “el programa” implica pensar matemáticamente, más allá de nuestras habilidades de programación.

Los distintos usuarios del sitio “compiten” por ver quién resuelve más problemas. Pueden ver los 1000 top:

http://projecteuler.net/index.php?section=top

y la lista de problemas en:

http://projecteuler.net/index.php?section=problems

El más difícil parece ser:

Integer angled Quadrilaterals

Hay una sección de estadísticas, interesantísima, con la cantidad de participantes por país, y la cantidad de usuarios por lenguaje de programación:

http://projecteuler.net/index.php?section=statistics

(el lenguaje más usado es C/C++)

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com/

Leave a Reply

Your email address will not be published. Required fields are marked *