To jest pytanie do golfa.
Biorąc pod uwagę liczby całkowite si, zadaniem jest wyprowadzenie wszystkich tablic o długości n, które przyjmują wartości od -s do s. Jedynym zwrotem jest to, że musisz je wyprowadzić w następującej kolejności.
- Tablica wszystkich zer o długości n.
- Wszystkie tablice o długości n z elementami od -1 do 1, z wyłączeniem tablicy, którą wcześniej wypisałeś.
- Wszystkie tablice o długości n z elementami od -2 do 2, z wyjątkiem tablicy, którą wcześniej wypisałeś.
- I tak dalej, aż dojdziesz do wszystkich tablic o długości n z elementami od -s do s, z wyłączeniem tablicy, którą wcześniej wypisałeś.
Powinieneś wypisać jedną tablicę na linię. Mogą być oddzielone spacją lub przecinkiem.
Oto trochę niezgodnego kodu python, który wyświetla tablice / listy / krotki we właściwej kolejności.
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 "***"
Dodatkowa chwała (i aprobata ode mnie) dla odpowiedzi, które nie wykonują żadnego odejmowania ani nie są równoważne.