C'est une question de code-golf.
Étant donné les entiers s et n, la tâche consiste à sortir tous les tableaux de longueur n qui prennent des valeurs de -s à s. La seule torsion est que vous devez les sortir dans l'ordre suivant.
- Le tableau de tous les zéros de longueur n.
- Tous les tableaux de longueur n avec des éléments de -1 à 1, à l'exclusion de tout tableau que vous avez sorti auparavant.
- Tous les tableaux de longueur n avec des éléments de -2 à 2, à l'exception de tout tableau que vous avez sorti auparavant.
- Et ainsi de suite jusqu'à ce que vous arriviez à tous les tableaux de longueur n avec des éléments de -s à s, à l'exclusion de tout tableau que vous avez sorti auparavant.
Vous devez générer un tableau par ligne. Ils peuvent être séparés par des espaces ou des virgules.
Voici un code python non conforme qui génère les tableaux / listes / tuples dans le bon ordre.
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 "***"
Une gloire supplémentaire (et un vote positif de ma part) pour les réponses qui n'effectuent aucune soustraction d'ensemble ou équivalent.