Bu bir kod golf sorusu.
S ve n tamsayıları verildiğinde, görev -s'den s'ye kadar değer alan n uzunluktaki tüm dizileri çıktılamaktır. Tek bükülme, bunları aşağıdaki sırayla çıkarmanız gerektiğidir.
- N uzunluğunun tümü sıfır dizisi.
- Daha önce çıktısını aldığınız herhangi bir dizi hariç, -1 uzunluktan 1 elemanlı n uzunluğundaki tüm diziler.
- Daha önce çıkardığınız herhangi bir dizi hariç, n uzunluğundaki tüm dizilerin -2 ile 2 arasındaki öğeler.
- Ve böylece, daha önce çıktısını aldığınız herhangi bir dizi hariç -s ile s arasındaki öğelerle birlikte n uzunluktaki tüm dizilere ulaşana kadar devam edin.
Her satıra bir dizi çıkarmalısınız. Boşluk veya virgülle ayrılmış olabilirler.
Dizileri / listeleri / tuples'ları doğru sırayla çıkaran bazı uygun olmayan python kodu.
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 "***"
Belirlenmiş çıkarma veya eşdeğeri olmayan yanıtlar için ekstra ihtişam (ve benden bir oylama).