# coding: latin-1 from carre_magique import CarreMagique dim = 3 nb = dim*dim M = 9 ** nb # on va tester 9^9 carrés possibles res = [] # contiendra la liste des carrés magiques for n in xrange (0,M) : # on décompose n en liste ind = [] k = n for t in range (0,nb) : dec = k % nb k = k / nb ind.append (dec+1) # transformation d'une liste en une liste de listes # [1,2,3,4,5,6,7,8,9] --> [[1,2,3],[4,5,6],[7,8,9]] l = [] for i in range (0, dim) : l.append ( ind [i*dim:(i+1)*dim] ) # on vérifie que le carré est magique et # a des nombres tous différents cm = CarreMagique (l) if cm.nombre_differents () and cm.est_magique () : res.append (cm) # résultat final print len (res) for r in res : print r