0 votos
por (20 puntos) en Java
Necesito hacer un programilla asi masomenos... yo se que es con un arreglo de doble dimension

Asi son las instrucciones:

Debe desarrollarse una aplicación computacional que permita generar un cuadrado mágico de orden impar n, comprendido entre 3 y 11.

Un cuadrado mágico se compone de números enteros comprendidos entre 1 y n, en donde la suma de los número que figuran en cada fila, columna y diagonal son iguales.

Por ejemplo:

8 1 6

3 5 7

4 9 2

Para tal efecto, el siguiente algoritmo permite la generación del mismo.

-Coloque el número 1 en el centro de la primera fila

-El siguiente número en la casilla situada por encima y a la derecha

-Continúe el proceso hasta completar el cuadro

-Si el número generado cae en una casilla que esta ocupada, se elige la casilla situada debajo del número que acaba de ser situado.

-El cuadrado es cíclico, esto significa que la línea encima de la primera es la última y la columna a la derecha de la última es la primera.


1 Respuesta

0 votos
por (8.5k puntos)
Es un clásico problema recursividad que se puede resolver mediante la técnica de BackTracking, te dejo un enlace con una completa explicación:

http://euitio178.ccu.uniovi.es/wiki/index.php/TP:Cuadrado_m%C3%A1gico_-_Backtracking


Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...