[ Foro de C++ ]

Espiral de Ulam C++

21-Feb-2019 13:18
Invitado (Gpm12)
2 Respuestas

Intento descubrir como conseguir las coordenadas dado un número de la espiral de Ulam para sacar los movimientos que debe hacer hasta llegar al número 1.He intentado buscar una ecuación que lo haga pero no la encuentro por ningún sitio ,Gracias :)


21-Feb-2019 13:31
Nacho Cabanes (+40)

No aparece ninguna ecuación para eso en la Wikipedia, ni en español, ni en inglés (que tiene un artículo más detallado):

https://en.wikipedia.org/wiki/Ulam_spiral

Así que imagino que pretenderán que la deduzcas tú.

Aun así, al ser una espiral cuadrada, el tamaño de los lados es "predecible":

3-4-5 y 5-6-7 forman lados de tamaño 3
7-8-9-10 y 10-11-12-13 forman lados de tamaño 4
13-14-15-16-17 y 17-18-19-20-21 forman lados de tamaño 5
Los dos siguientes pares son de tamaño 6
Luego hay 2 de tamaño 7
...

O bien, más sencillo aún, si no te piden la fórmula sino sólo calcular el camino más corto, puedes rellenar un array bidimensional, y así sólo tienes que restar la fila y columna de un determinado número y la del 1.


23-Feb-2019 18:44
Invitado (Gpm12)

Tengo que sacar las coordenadas sin tener el array ya que puede ser cualquier número y no puedo hacerlo infinito .






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)