Facebook Twitter RSS Reset

Project Euler? Te cuento en imágenes. Soluciones en C++

Buenas! Hoy quiero compartir un sitio que la verdad me gustó mucho…

Si te gustan los números y la programación, éste es tu sitio!

Project Euler? Te cuento en imágenes. Soluciones en C++
Project Euler? Te cuento en imágenes. Soluciones en C++
(Click aquí para acceder al sitio)

¿Qué es ProjectEuler?



ProjectEuler es un sitio que tiene por finalidad el ofrecerte problemas matemáticos para resolver (a día de hoy cuenta con más de 600 problemas) La idea del sitio es que tengas un lugar en el cual puedas practicar, superarte e inclusive aprender un poco más con cada problema resuelto! Sólo tenés que registrarte y empezar por el problema que quieras

Te cuento algunas de sus características…

Project Euler? Te cuento en imágenes. Soluciones en C++

Su interfaz es intuitiva

Project Euler? Te cuento en imágenes. Soluciones en C++
(El sitio cuenta con más de 600 problemas hasta la fecha)

Tiene una interfaz amigable, lo que facilita la navegación a través del sitio. Los problemas se presentan en forma de lista, cuya complejidad es de orden creciente. Cuando resuelves un problema, accedes a un foro exclusivo del problema donde puedes compartir tu solución y ver la del resto de usuarios. En ocasiones, hasta una revisión en formato pdf sobre el problema en sí junto a su solución más eficiente.



Project Euler? Te cuento en imágenes. Soluciones en C++

Puedes ver tu progreso

Project Euler? Te cuento en imágenes. Soluciones en C++
(tu perfil sube de nivel por cada 25 problemas resueltos)

Al crearte una cuenta, podrás chequear tu progreso a medida que avances con la resolución de los problemas propuestos. No existen presiones al respecto, vas a tu ritmo. Para motivarte y proponerte metas a corto/mediano plazo el sitio ofrece una jerarquía de niveles y “reconocimientos” en función de tu desempeño.

Project Euler? Te cuento en imágenes. Soluciones en C++
(Reconocimientos que puedes desbloquear si cumples con desafíos que propone el sitio)

Project Euler? Te cuento en imágenes. Soluciones en C++

Tienes acceso a información útil y de interés

Project Euler? Te cuento en imágenes. Soluciones en C++
(Visión general del menú de estadísticas)

El sitio cuenta con una serie de registros y estadísticas que, entre muchas cosas, te permite ver los lenguajes de programación más utilizados, un ránking con los usuarios que mayores problemas han resuelto (utilizando distintos criterios), entre otras cosas!

Project Euler? Te cuento en imágenes. Soluciones en C++

Cuentas con información detallada

Project Euler? Te cuento en imágenes. Soluciones en C++
(Imagen del problema n° 268)

Los problemas (aunque en inglés…) se encuentran muy detallados y cuentan con un ejemplo que puede ayudarte a orientarte para encontrar una solución. Según los creadores del sitio, las soluciones de los problemas pueden crearse utilizando un algoritmo que dura menos de un minuto. Lo cual a veces para el inexperto puede resultar difícil al principio.

Project Euler? Te cuento en imágenes. Soluciones en C++

ALGUNOS PROBLEMAS RESUELTOS



Aunque me gustaría explayarme con las explicaciones, éstas soluciones son mas bien de caracter orientativo, explico muy brevemente algún punto en particular pero la idea es que vean cómo utilizando la programación puede resolverse un determinado problema.

Project Euler? Te cuento en imágenes. Soluciones en C++
PROBLEMA 1

“Si listamos todos los números naturales menores a 10 que son múltiplos de 3 o 5, obtenemos el 3, 5, 6 y 9. La suma de estos múltiplos es 23.

Obtener la suma de todos los múltiplos de 3 o 5 que se encuentran por debajo de 1000″

Abrimos nuestro IDE y empezamos…

Declaramos las funciones que necesitaremos

Project Euler? Te cuento en imágenes. Soluciones en C++

Implementamos estas funciones

Para reconocer un múltiplo de tres

Project Euler? Te cuento en imágenes. Soluciones en C++

Para reconocer un múltiplo de cinco

Project Euler? Te cuento en imágenes. Soluciones en C++

el main nos queda

Project Euler? Te cuento en imágenes. Soluciones en C++

Solamente resta compilar, ejecutar y listo. Verás la solución en pantalla. La ingresas en el sitio y puedes avanzar al siguiente.

Mirá el código fuente junto con la salida estándar completo acá: http://ideone.com/x6aygJ

Project Euler? Te cuento en imágenes. Soluciones en C++

PROBLEMA 2



“Cada nuevo término de la sucesión de Fibonacci es generada por la suma de los dos términos anteriores de la sucesión. Si empezamos por 1 y 2, los primeros 10 términos serán:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

Si consideramos los términos de la sucesión de Fibonacci que son menores a cuatro millones, encuentre la suma de aquellos términos que sean pares.”

declaramos nuestras funciones a utilizar

Project Euler? Te cuento en imágenes. Soluciones en C++

implementamos

Project Euler? Te cuento en imágenes. Soluciones en C++


Implementamos fibonacci recursivamente (no tan recomendado)


Project Euler? Te cuento en imágenes. Soluciones en C++

el main nos queda así

Project Euler? Te cuento en imágenes. Soluciones en C++


Mirá el código fuente junto con la salida estándar completo acá: http://ideone.com/wW8G7E

Project Euler? Te cuento en imágenes. Soluciones en C++

PROBLEMA 7

“Los primeros seis numeros primos son: 2, 3, 5, 7, 11 y 13. Podemos ver que 13 es el sexto número primo.

¿Cuál es el número primo 10001?”

declaramos lo que necesitamos

Project Euler? Te cuento en imágenes. Soluciones en C++

implementamos la función para determinar si un n° es primo

Project Euler? Te cuento en imágenes. Soluciones en C++

el main nos queda

Project Euler? Te cuento en imágenes. Soluciones en C++

Mirá el código fuente junto con la salida estándar completo acá: http://ideone.com/goncMH

Project Euler? Te cuento en imágenes. Soluciones en C++

TE INVITO A PASAR POR MIS OTROS APORTES

Ecuaciones diferenciales: Aplicaciones de Modelado Parte 1


Ecuaciones diferenciales: Aplicaciones de Modelado Parte 2


Project Euler? Te cuento en imágenes. Soluciones en C++
Project Euler? Te cuento en imágenes. Soluciones en C++

No comments yet.

Leave a Comment