Project Euler es una web de problemas numérico-lógicos y de programación que lleva el nombre del famoso matemático. Allí se proponen retos que supongan pensar «con algo más que una mente puramente matemática», de modo que para resolver el problema haga falta programarlo en algún lenguaje. Algunos de los retos son, por ejemplo:
- Sumar todos los números naturales menores de 1.000 que sean múltiplos de 3 ó 5
- Calcular todas las letras que hacen falta para escribir «de palabra» los números entre 1 y 1.000
- Sumar todos los dígitos de 100! (factorial de 100)
- ¿Con cuántas manos distintas gana la partida el primer jugador en una partida de póker (dos jugadores)?
- Sumar todos los primos por debajo de 1.000.000
(Las soluciones a estos problemas están en la lista de retos planteados.)
Para complicarlo un poco se sugiere que el programa que calcule la solución debe poder dar un resultado en menos de un minuto.
La lista de problemas supera ya los 160 y hay unos 6.800 usuarios activos de un montón de países. De vez en cuando publican estadísticas acerca de qué tipo de lenguajes utilizan los programadores, desde «lápiz y papel» a C/C++ (que gana por goleada), algo de Python y también Java, Haskell, Ruby y otros muchos.
(¡Gracias, Lektu!)