## this calculates the number of ways you can arrange n queens in a n by n chess boeard def calcular(i): """ Calcula las soluciones del problema de las n reinas en un tablero de n x n """ tablero = [0]*i return soluciones(tablero) def libre(tablero, lvl): if lvl == 0: return True da = lvl - tablero[lvl] dz = lvl + tablero[lvl] for i in range(lvl): if tablero[i] == tablero[lvl] or i - tablero[i] == da or i + tablero[i] == dz: return False return True def soluciones(tablero, lvl = 0): ret = 0 for i in range(len(tablero)): tablero[lvl] = i if libre(tablero, lvl): if lvl == len(tablero) -1: ret = ret + 1 else: ret = ret + soluciones(tablero, lvl +1) return ret # Main for i in range(10): print calcular(i+1)