Google+ Seguidores

martes, 5 de abril de 2016

Más que un reto: ProjectEuler

    3

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+

3 comentarios:
Write comentarios

Tu comentario es importante y nos motiva a seguir escribiendo...

Entradas más recientes

© 2014 Mi diario Python. Designed by Bloggertheme9 | Distributed By Gooyaabi Templates
Powered by Blogger.