Quadrato Magico
Costruire un quadrato magico composto da interi positivi di dimensioni $3 xx 3$, la cui costante magica sia $99$ e che contenga il numero $12$.
Cordialmente, Alex
Cordialmente, Alex
Risposte
Va bene tutto, basta rispettare le condizioni 
D'altra parte, il quadrato magico è veramente un "passatempo"
Cordialmente, Alex

D'altra parte, il quadrato magico è veramente un "passatempo"

Cordialmente, Alex
"axpgn":
Visto che ci sono diverse soluzioni,
non sarebbe il caso di scrivere 4 righe di codice, per conoscere QUANTE ne sono ?
non sarebbe il caso di scrivere 4 righe di codice, per conoscere QUANTE ne sono ?
Mica sono un programmatore 
Dammi un attimo ...
Cordialmente, Alex

Dammi un attimo ...

Cordialmente, Alex
Cordialmente, Alex
@Super Squirrel
Cordialmente, Alex
Cordialmente, Alex
Più o meno ho capito


Le regole del quadrato:
- le 9 caselle vanno compilate con numeri da 1 a 99 (anzi 96 [1-2-96]), lo ZERO è escluso, giusto ?
- la somma delle 3 righe, delle 3 colonne, delle 2 diagonali, deve essere 99. Giusto ?
- i 9 numeri non si possono ripetere. Giusto ?
Dimentico qualcosa ?
(a parte il "12" che nel ns. gioco deve essere presente ...)
- le 9 caselle vanno compilate con numeri da 1 a 99 (anzi 96 [1-2-96]), lo ZERO è escluso, giusto ?
- la somma delle 3 righe, delle 3 colonne, delle 2 diagonali, deve essere 99. Giusto ?
- i 9 numeri non si possono ripetere. Giusto ?
Dimentico qualcosa ?
(a parte il "12" che nel ns. gioco deve essere presente ...)
"Umby":
Il codice non è molto leggibile, ma vedendo solo l'output ti chiedo:
Perchè hai fissato il "12" solo sulla prima riga ?
In effetti mi rendo conto che concentrandomi sulla brevità, la leggibilità ne ha risentito parecchio!

In ogni caso ho fissato la posizione di $n$ (pari a $12$ nel caso specifico) per evitare di considerare più volte la stessa soluzione, ossia quelle 7 soluzioni ricavabili da quella "originale" attraverso rotazioni o simmetrie.
In fin dei conti in un quadrato 3x3 la posizione di $n$ si limita a 3 casi: angolo, bordo e centro. E nei casi "angolo" e "bordo" fissare la posizione significa già escludere rotazioni e alcune simmetrie.
In particolare:
- fissare $n$ nell'angolo in alto a sinistra significa escludere tutte le rotazioni e le simmetrie eccetto quella rispetto alla diagonale principale;
- fissare $n$ nel bordo in alto significa escludere tutte le rotazioni e le simmetrie eccetto quella rispetto all'asse verticale.
Per escludere anche queste, oltre alle rotazioni e simmetrie nel caso di $n$ centrale, ho poi imposto delle condizioni sulle variabili $i_1$, $j_1$ e $i_2$, $j_2$.
"Umby":
Le regole del quadrato:
- le 9 caselle vanno compilate con numeri da 1 a 99 (anzi 96 [1-2-96]), lo ZERO è escluso, giusto ?
- la somma delle 3 righe, delle 3 colonne, delle 2 diagonali, deve essere 99. Giusto ?
- i 9 numeri non si possono ripetere. Giusto ?
Dimentico qualcosa ?
(a parte il "12" che nel ns. gioco deve essere presente ...)
Tutto giusto, ovviamente!

Ipotizzo che con questo post tu mi stia chiedendo in che modo l'algoritmo che ho implementato sfrutti queste regole base dei quadrati magici, giusto?
"Super Squirrel":
Tutto giusto, ovviamente!
Ipotizzo che con questo post tu mi stia chiedendo in che modo l'algoritmo che ho implementato sfrutti queste regole base dei quadrati magici, giusto?
No,
chiedevo perchè avevo intenzione di scrivere qualche riga di codice,
e confrontarmi con la tua soluzione, e volevo essere sicuro delle "regole del gioco".
In effetti, per ogni variante della tua soluzione, hai più "quadrati magici",
ma non hai detto quanti (in totale)
Ho fatto una prima elaborazione, ed il mio risultato è diverso dal tuo
(ma intendo controllare l'output, visto che l'ho scritto su due piedi).

I quadrati magici esistono da millenni e ci sono alcune regole base ma esistono miriadi di varianti, quindi dipende da quale scegli 
Battute a parte, in questo caso è come hai detto: i numeri devono essere interi positivi; ogni riga, ogni colonna e le due diagonali principali devono sommare $99$; in più uno dei nove numeri deve essere il $12$.
Come ho già detto, ci "sarebbero" duecento quadrati magici diversi che rispettano queste condizioni; per "diversi" si intende che se li sovrapponi esattamente, non ce ne saranno due uguali.
Però, è consuetudine considerare "diversi" solo quelli che NON si ottengono dagli altri per rotazioni o riflessioni.
E questi dovrebbero essere solo $25$
Cordialmente, Alex

Battute a parte, in questo caso è come hai detto: i numeri devono essere interi positivi; ogni riga, ogni colonna e le due diagonali principali devono sommare $99$; in più uno dei nove numeri deve essere il $12$.
Come ho già detto, ci "sarebbero" duecento quadrati magici diversi che rispettano queste condizioni; per "diversi" si intende che se li sovrapponi esattamente, non ce ne saranno due uguali.
Però, è consuetudine considerare "diversi" solo quelli che NON si ottengono dagli altri per rotazioni o riflessioni.
E questi dovrebbero essere solo $25$
Cordialmente, Alex
"Super Squirrel":
Questo l'output per il caso in esame:
Ci sarà qualche errorino nel tuo codice,
ad esempio:
la soluzione: [44-43-12-01-33-65-54-23-22],
non mi sembra di vederla (la num. 25 è simile, ma non uguale...)
"Umby":
In effetti, per ogni variante della tua soluzione, hai più "quadrati magici",
ma non hai detto quanti (in totale)
Non sono sicuro di aver capito cosa intendi, in ogni caso nel precedente post ho scritto:
"Super Squirrel":
ho fissato la posizione di n (pari a 12 nel caso specifico) per evitare di considerare più volte la stessa soluzione, ossia quelle 7 soluzioni ricavabili da quella "originale" attraverso rotazioni o simmetrie.
In pratica da ogni soluzione se ne possono ricavare altre 7, di cui 3 attraverso rotazioni di 90°, 180°, 270° e 4 attraverso riflessioni rispetto ad asse orizzontale, asse verticale, diagonale principale, diagonale secondaria.
"Umby":
Ci sarà qualche errorino nel tuo codice,
ad esempio:
la soluzione: [44-43-12-01-33-65-54-23-22],
non mi sembra di vederla (la num. 25 è simile, ma non uguale...)
La numero 1, rotazione antioraria di 90°.
@Umby
Scusami ma non mi sembra che hai letto tutti i post, perché le risposte alle tue domande le avresti già trovate ... IMHO
Cordialmente, Alex
Scusami ma non mi sembra che hai letto tutti i post, perché le risposte alle tue domande le avresti già trovate ... IMHO
Cordialmente, Alex
"Super Squirrel":
La numero 1, rotazione antioraria di 90°.

p.s. per soluzioni totali, intendevo il 200.