Más que un reto: ProjectEuler

Desafíos de Programación
Desafíos de Programación

ProjectEuler es una página web en la que podrás encontrar problemas matemáticos para ser resueltos en cualquier lenguaje de programación.
Hay
cerca de 550 problemas con los que te asegurarás horas de dolor de
cabeza. Cada fin de semana es liberado un nuevo problema, excepto en
verano.

Dificultad
Cada problema tiene una barra que indica la dificultad:

Una vez resuelvas el problema, tendrás acceso a un hilo en el foro donde los demás usuarios que lo han resuelto publican sus soluciones en distintos lenguajes de programación, te sorprenderías del ingenio de muchos.

Estructura
Todos los problemas constan de un enunciado donde este es introducido y un pequeño formulario para introducir la solución. La mayoría de las soluciones suelen ser números enteros, pero hay problemas en los que te piden la solución redondeada a x decimales.

Ejemplo
Como ejemplo tomaremos el primer problema.
El enunciado es:

“Si creamos una lista con todos los números naturales por debajo de 10 que
además son múltiplos de 3 o 5, obtendremos 3, 5, 6 y 9. La suma de todos
estos múltiplos es 23.
Encuentra la suma de todos los múltiplos de 3 o 5 por debajo de 1000.”
Hay multitud de caminos para hallar la solución, pero sólo hay una.

Una solución común sería:

result = 0
   for i in range(1,1000):
      if i % 3 == 0 or i % 5 == 0:
      result = result + i
print(str(result))

Se pueden conseguir otras más elaboradas, como por ejemplo:
ans = sum (x for print(ans) x in range ( 1000 ) if (x % 3 == 0 or x % 5 == 0 ))

Manos a la obra
Deberás registrarte en https://projecteuler.net/archives para comprobar las soluciones.

Además, cada vez que introduzcas la solución correcta podrás descargar un .pdf con la explicación del problema y también acceder al hilo del problema.
No te preocupes si no consigues realizar algún problema al primer intento. Puedes dejarlo para otro momento, tal vez lo estés enfocando mal. ¡Ante cualquier caso, no mires la solución hasta que no hayas conseguido una propia!

¡Suerte y que los dolores de cabeza sean pocos!

Solución de la mayoría de los problemas en Python (No lo mires, ¡inténtalo tú!):
https://github.com/nayuki/Project-Euler-solutions/tree/master/python

Rubén Garcia

Autor: Rubén Garcia
Contacto: Google+

  1. Anónimo dice:

    Gracias!

    1. PythonDiario dice:

      Gracias a ti por visitar el blog. Saludos!!!

  2. fede dice:

    Este comentario ha sido eliminado por el autor.

Deja una respuesta

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

Subir
White Monkey