El Proyecto Euler
¿Qué es el Proyecto Euler?
El Proyecto Euler es una serie de retadores problemas de matemática/programación que requerirán mas que un poco de conocimientos de matemáticas para resolver. Aunque las matemáticas te ayudarán a tener métodos elegantes y eficientes, el uso de la computadora y habilidades de programación son requeridos para resolver la mayoría de los problemas.
Desde hace tiempo he querido avanzar con ellos y mi desidia no me ha dejado, así que ahora publicaré los problemas que vaya resolviendo (si, uno por uno) y de paso me doy motivación extra.
También es una perfecta oportunidad para que la vasta fauna del internet pueda corregir mi imperfecta manera de programar. Así que cualquier corrección no duden en hacerla, mientras mas me equivoco, más aprendo.
Algunas cosas que notar:
-
Siempre agradeceré que revisen el problema y den su opinión, planeo equivocarme bastante. Los problemas se encuentran si buscamos en el internets o en la página del proyecto, pero el punto es pensar un poco y hacerlo uno mismo, lo demás es perder el tiempo.
-
Siempre buscare que el programa sea mas eficiente, y por eficiente se entiende que el algoritmo ejecute en menos ciclos de maquina, por lo tanto en menos tiempo. -
He notado que no puedo darme el lujo de tardar cuatro veces mas resolviendo algo por intentar hacerlo lo mas eficiente posible, así que ahora voy a preocuparme menos por el rendimiento y mas por la respuesta basándome en la «regla de un minuto» del mismo proyecto euler, un programa siempre debe de tardar menos de un minuto en ejecución, otro caso es inaceptable. Esto es porque necesito aprovechar mejor mi tiempo, espero que me ayuden en los comentarios a mejorar las soluciones.
-
Siempre preferiré código legible que escribir en el menor número de lineas ininteligibles posible.
-
Los quiero hacer todos en C -ANSI C99- para aprender, así tarde tres veces más y cometa muchos errores como n00b que soy, no me importa, desde la carrera técnica no lo utilizo y ya dan ganas :-)
-
Si planeas hacerlos por tu cuenta, no leas esto antes! básicamente es un spoiler.
Listado de problemas:
-
Problema 1 - Suma todos los números naturales menores a 1000 que son múltiplos de 3 o 5.
-
Problema 2 - Encuentra la suma de todos los números pares en una secuencia de Fibonacci que no pase los 4 millones.
-
Problema 3 - Encuentra el factor primo mas grande de un número compuesto.
-
Problema 4 - Encuentra el mayor producto capicúa de dos números de tres dígitos.
-
Problema 5 - ¿Cuál es el número mas pequeño divisible por cada uno de los números del 1 al 20?
-
Problema 6 - ¿Cuál es la diferencia entre la suma de los cuadrados y el cuadrado de las sumas?