Python - Cuadrado Magico

 
Vista:

Cuadrado Magico

Publicado por carlota (6 intervenciones) el 13/04/2013 21:40:57
Hola me gustaria saber como puedo programar en Python el cuadrado magico de lado multiplo de 4, si alguien me puede ayudar se lo agradeceria.
Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Cuadrado Magico

Publicado por xve (1646 intervenciones) el 13/04/2013 22:06:13
Hola Carlota, nos puedes comentar mas datos sobre esto que comentas del "cuadrado magico"? exactamente que tiene que ser o hacer?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuadrado Magico

Publicado por carlota (6 intervenciones) el 13/04/2013 22:42:13
Un cuadrado magico es que todas las diagonales filas y columnas suman lo mismo. Entondes tengo que crear un progrsma de un cuadrado de lado multiplo de 4 y que pidiendo el numero de filas me contruya el cuadrado mágico por ejemplo de lado 4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Cuadrado Magico

Publicado por xve (1646 intervenciones) el 14/04/2013 20:13:51
Hola Carlota, gracias por comentarlo...

He buscado un poco, y he visto que hay varios tipos de cuadrados mágicos, pero en la wikipedia, he encontrado este código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
def magico_impar (n):
    # Método Siamés -- 1691 Simón de la Loubere
    i = 0
    j = n/2
    contador = 1
    arreglo = [0]*n
 
    for y in range(n):
        arreglo[y] = [0]*n
 
    arreglo[i][j] = 1
    x = (n*n)
 
    while(contador < x):
        if((i-1)>=0):
            if((j+1)<(n)):
                if(arreglo[i-1][j+1]==0):
                    i -= 1
                    j += 1
                    contador += 1
                    arreglo[i][j] = contador
                else:
                    i += 1
                    contador += 1
                    arreglo[i][j] = contador
            else:
                if(arreglo[i-1][0]==0):
                    i -= 1
                    j = 0
                    contador += 1
                    arreglo[i][j] = contador
                else:
                    i += 1
                    contador += 1
                    arreglo[i][j] = contador
        else:
            if(((j+1)<(n))):
                if (arreglo[n-1][j+1]==0):
                    i = n-1
                    j += 1
                    contador += 1
                    arreglo[i][j] = contador
                else:
                    i += 1
                    contador += 1
                    arreglo[i][j] = contador
            else:
                i += 1
                contador += 1
                arreglo[i][j] = contador
 
    for p in arreglo:
        print p
    return arreglo
 
x=magico_impar(10)

http://es.wikipedia.org/wiki/Cuadrado_mágico#Construcci.C3.B3n_de_cuadrados_m.C3.A1gicos

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuadrado Magico

Publicado por Carlota (6 intervenciones) el 14/04/2013 20:15:12
Ese es de lado impar y no me sirve, puesto que el que tengo que hacer es de lado multiplo de 4.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuadrado Magico

Publicado por Josue (1 intervención) el 30/11/2019 21:54:56
Como hago para hacer eso?
Alguien tiene una idea??
Me pueden explicar mediante un código u ejemplo.
Me lo podrían dejar en esta dirección de correo.

[email protected]
Gracias

el cuadro mágico.

- El objetivo del programa es lograr que las piezas queden colocadas en
algún orden predeterminado, por ejemplo, colocar las piezas numeradas
de menor a mayor, empezando desde arriba y de izquierda a derecha,
dejando el hueco en el extremo inferior derecho. Esto en una matriz 4x4.
Esta matriz se debe escoger que tipo de datos se van a incluir. Si es
carácter solamente debe aceptar las letras del abecedario y si es
numérico solamente número.
Debe haber un método para llenar valores y otro para mostrar ya la
matriz ordenada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar