Esta es una pregunta de código de golf.
Dados los enteros syn, la tarea es generar todas las matrices de longitud n que toman valores de -s a s. El único giro es que debe generarlos en el siguiente orden.
- La matriz de ceros de longitud n.
- Todas las matrices de longitud n con elementos de -1 a 1, excluyendo cualquier matriz que haya generado anteriormente.
- Todas las matrices de longitud n con elementos de -2 a 2, excluyendo cualquier matriz que haya generado anteriormente.
- Y así sucesivamente hasta llegar a todas las matrices de longitud n con elementos de -s a s, excluyendo cualquier matriz que haya generado anteriormente.
Debe generar una matriz por línea. Pueden ser espacios o comas separados.
Aquí hay un código de Python que no cumple con los requisitos que genera las matrices / listas / tuplas en el orden correcto.
import itertools
s = 3
n = 2
oldsofar = set()
newsofar = set()
for i in xrange(s):
for k in itertools.product(range(-i,i+1), repeat = n):
newsofar.add(k)
print newsofar - oldsofar
oldsofar = newsofar.copy()
print "***"
Gloria extra (y un voto positivo de mi parte) para las respuestas que no realizan restas establecidas o equivalentes.