![]() |
| Espiral 7X7 |
Un análisis de cada una de las diagonales organizando los términos de menor a mayor independientemente de la posición que ocupan dentro de la respectiva diagonal nos deja ver lo siguiente:
![]() |
| Diagonal principal |
Iniciando en uno (1), cada nuevo término corresponde al anterior sumando un valor determinado, dicho valor tiene la característica de aumentar en cuatro cada vez que el índice del término es par, así para el segundo término se adiciona 4, lo que se mantiene para el tercero, pero en el cuarto término se adiciona 8, sucesivamente se puede utilizar este razonamiento para encontrar cualquier término de la diagonal principal.
En la diagonal secundaria se tiene que
![]() |
| Diagonal secundaria |
igualmente inicia en uno, pero esta vez, cada nuevo término corresponde al anterior sumando dos más que en el anterior, la tabla deja ver claramente cual es el razonamiento que permite encontrar cualquier término de la diagonal secundaria.
Hecho este análisis, lo demás es un par de ciclos de programación que incluyan recursividad para la diagonal de una espiral 1001X1001 (cada diagonal tendrá 1001 entradas) y se llega a la solución del problema 28 del proyecto Euler.



0 comentarios:
Publicar un comentario en la entrada