Generador de cuadrado mágico
Construya un cuadrado mágico de orden impar en el que cada fila, columna y diagonal principal suma lo mismo: el de 3×3 suma 15 y el de 5×5, 65. Elija cualquier tamaño impar entre 3 y 99 y obtenga la cuadrícula completa. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Orden
- 3
- Constante mágica
- 15
- Celdas
- 9
Un cuadrado mágico de orden impar n es una cuadrícula de n por n que contiene cada entero desde 1 hasta n al cuadrado exactamente una vez, de modo que cada fila, cada columna y ambas diagonales principales suman la misma constante mágica: n veces (n al cuadrado más uno) dividido entre dos. Este generador construye esa cuadrícula con el método siamés, también llamado método de de la Loubère. Coloca el 1 en el centro de la fila superior y después avanza una celda hacia arriba y una hacia la derecha, envolviendo en los bordes y bajando una celda cuando la siguiente ya está ocupada. La única entrada obligatoria es el orden impar, que debe ser un entero mayor o igual que 3.
Cómo el método siamés rellena un cuadrado de orden impar
El método siamés, consignado por Simon de la Loubère tras una estancia en Siam en el siglo XVII, es la demostración constructiva habitual de que existe un cuadrado mágico para todo orden impar. Comience con un tablero vacío de n por n y escriba el entero 1 en la celda central de la primera fila. Desde cualquier celda que ya contenga k, la candidata para k más uno está una fila arriba y una columna a la derecha.
Si ese paso sale del tablero, se envuelve: al salir por la fila superior se reingresa por la inferior de la misma columna, y al salir por la última columna se reingresa por la primera de la misma fila. Si la celda envuelta ya está ocupada —lo que ocurre tras cada vuelta completa de n pasos— no tome el paso diagonal: escriba el siguiente entero en la celda inmediatamente debajo de la actual y continúe desde ahí.
Como n es impar, esa regla de colisión nunca pelea con el envoltorio, y el recorrido visita cada celda exactamente una vez antes de colocar n al cuadrado. La cuadrícula terminada es mágica: cada fila, cada columna y ambas diagonales largas suman la constante mágica n veces (n al cuadrado más uno) entre dos.
Para el orden 3 esa constante es 15 y el cuadrado normal único (salvo rotación y reflexión) es ocho, uno, seis en la primera fila, tres, cinco, siete en la segunda, y cuatro, nueve, dos en la tercera. Para el orden 5 la constante es 65 y la primera fila es diecisiete, veinticuatro, uno, ocho, quince. Este extremo siempre emite esa orientación canónica siamesa; no elige una asociación aleatoria ni una construcción par de Dürer.
El recorrido es un puñado de incrementos modulares, así que el mismo orden produce siempre el mismo arreglo bidimensional, que es lo que necesitan las claves de tarea, los oráculos de concurso y las pruebas doradas.
Contrato de entrada, forma de la respuesta y qué se rechaza
El dominio son los enteros impares desde 3 hasta 99 inclusive. El orden 1 es impar, pero no es el cuadrado mágico de aula en el sentido habitual de 1 hasta n al cuadrado que la gente busca, así que se rechaza con el mismo mensaje que un orden par: order debe ser un entero impar mayor o igual que 3.
Valores pares como 4 u 8 fallan por la misma razón: el paso siamés hacia arriba y a la derecha no es una construcción completa para n par, y esta capacidad no cambia en silencio a un algoritmo de Strachey o LUX. Los valores por encima de 99 fallan porque el límite declarado es 99. Las claves de salida opcionales se omiten en lugar de enviarse como null.
La validación fallida no se factura. Combine la cuadrícula con su propio renderizador si necesita color o animación; este extremo devuelve números, no una imagen.
Dónde un generador de cuadrado mágico de orden impar resulta útil
Las aulas y las plataformas de tutoría usan un generador de cuadrado mágico para que el alumnado compruebe un 3×3 o un 5×5 que acaba de construir a mano, sin invertir un error de envoltorio en las últimas celdas. Los sitios de puzles y las fábricas de hojas de ejercicios necesitan un oráculo determinista que emita siempre la misma cuadrícula siamesa para un n dado, de modo que las claves de respuesta se mantengan estables entre reimpresiones e idiomas. La entrada inválida no consume saldo.
Si usted necesita cuadrados de orden par, rotaciones de la cuadrícula siamesa o un comprobador de un tablero ya relleno, esa es otra intención de búsqueda y otra capacidad; esta existe para construir el cuadrado siamés de orden impar que la gente busca como generador de cuadrado mágico.
Qué puede hacer con ella
Claves de aula y hojas de ejercicios
Genere el cuadrado siamés canónico de 3×3 o 5×5 para que el alumnado compruebe cada fila, columna y diagonal frente a la constante mágica impresa.
Tableros de juego equilibrados
Coloque fichas o puntuaciones a partir de un cuadrado mágico para que cada fila, columna y diagonal larga de un tablero impar lleve el mismo total.
Preguntas frecuentes
¿Por qué el orden debe ser un entero impar mayor o igual que 3?
El recorrido siamés hacia arriba y a la derecha es una construcción completa solo para n impar.
¿Cómo es el cuadrado siamés de 3×3?
La cuadrícula canónica es [[8,1,6],[3,5,7],[4,9,2]]. Cada fila, cada columna y ambas diagonales principales suman la constante mágica 15.
¿Elige el generador una rotación al azar en cada llamada?
No. El recorrido es fijo: el 1 siempre empieza en el centro de la fila superior y avanza hacia arriba y a la derecha. El mismo orden devuelve siempre el mismo arreglo bidimensional.
¿Cómo se calcula la constante mágica de un cuadrado?
Se multiplica n por n al cuadrado más uno y se divide entre dos. Para un cuadrado de 3×3 da 15, y para uno de 5×5, 65: cada fila, cada columna y las dos diagonales principales suman esa cifra.
¿Cómo coloca los números el método siamés?
Escribe el 1 en el centro de la fila superior y, para cada número siguiente, sube una casilla y avanza otra a la derecha, dando la vuelta por los bordes. Si esa casilla ya está ocupada, baja a la casilla inmediatamente inferior.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/math/magic-square \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"order":3}'const res = await fetch("https://api.kit.forhosting.com/math/magic-square", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"order": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/magic-square",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"order": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/magic-square", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"order":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"order":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/magic-square", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"order": 3
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.magic_square",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_order | 99 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Los órdenes pares, el orden trivial 1, las fracciones y los valores por encima del máximo publicado se rechazan con invalid_input.
Contrato de entrada, forma de la respuesta y qué se rechaza
Envíe por POST un cuerpo JSON con un único campo obligatorio, order, el entero impar n del cuadrado. Se aceptan los alias n y size para que formularios y cadenas de consulta reutilicen un mismo contrato. El valor puede llegar como entero JSON o como cadena decimal entera; las cadenas vacías, los campos ausentes, las fracciones, la notación científica y los tipos no numéricos fallan con invalid_input nombrando order. Si tiene éxito, el cuerpo ecoa order, devuelve square como un arreglo de n filas de n enteros positivos, informa magic_constant como n veces (n al cuadrado más uno) entre dos, informa cells como n al cuadrado y fija method en la cadena siamese para que quien llama registre qué construcción recibió. Mantenga las solicitudes dentro del máximo publicado para que la respuesta siga siendo un documento JSON pequeño y no un volcado de matriz gigante.
Dónde un generador de cuadrado mágico de orden impar resulta útil
Quienes diseñan juegos a veces siembran un tablero a partir de un cuadrado mágico para que cada línea quede equilibrada; llamar a una API parse pequeña evita incrustar una implementación suelta que luego se desvía del recorrido del libro.
Casos de integración
Fixtures de puzles y katas
Alimente ejercicios de programación y pruebas de propiedades con una cuadrícula n×n determinista cuyas sumas de línea son n(n²+1)/2, sin tablas incrustadas.
Preguntas técnicas
¿Cómo se genera un cuadrado mágico de orden impar?
Envíe un entero impar order n ≥ 3 (alias n y size). La API devuelve una cuadrícula n×n rellenada por el método siamés, más la constante mágica n(n²+1)/2.
¿Cuánto cuesta el generador de cuadrado mágico?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo prepago a $0.002 por llamada exitosa; la entrada inválida no se factura.