Meydan okuma
Zorluk, giriş olarak pozitif bir 'n' tamsayısı alan ve 1 - n arasındaki sayıların yazılabileceği tüm olası yolları görüntüleyen bir kod yazmaktır. sıfıra eşit. Lütfen yalnızca toplama veya çıkarma kullanabileceğinizi unutmayın.
Örneğin, giriş 3 ise, toplamı 0 yapmanın 2 yolu vardır:
1+2-3=0
-1-2+3=0
Sayıların 1'den n'ye kadar (bu durumda 3'tür) sırayla olduğunu unutmayın. Örnekte görüldüğü gibi, ilk sayının işareti de negatif olabilir, bu yüzden dikkatli olun.
Şimdi, 3 oldukça basitti. 7 sayısını düşündüğümüzde tüm yolları listeleyelim.
1+2-3+4-5-6+7=0
1+2-3-4+5+6-7=0
1-2+3+4-5+6-7=0
1-2-3-4-5+6+7=0
-1+2+3+4+5-6-7=0
-1+2-3-4+5-6+7=0
-1-2+3+4-5-6+7=0
-1-2+3-4+5+6-7=0
Burada toplam 8 olası yolumuz var.
Giriş ve çıkış
Daha önce belirtildiği gibi, girdi pozitif bir tamsayı olacaktır . Çıktınız, sayıların toplamı sıfır olarak vermesi mümkün olan tüm yolları içermelidir. Aynı şeyi yapmanın olası bir yolu yoksa, istediğiniz her şeyi çıktılayabilirsiniz.
Ayrıca, çıktıyı istediğiniz herhangi bir biçimde yazdırabilirsiniz . Ancak, anlaşılabilir olmalıdır . Örneğin, yukarıdaki örnekte olduğu gibi yazdırabilirsiniz. Veya numaraların işaretlerini sırayla yazdırabilirsiniz. Aksi takdirde, '0' ve '1'leri sırayla yazdırabilirsiniz, burada' 0 'negatif işareti ve' 1 'pozitif işareti görüntüler (veya tersi).
Örneğin, aşağıdakileri kullanarak 1 + 2-3 = 0'ı temsil edebilirsiniz:
1+2-3=0
1+2-3
[1,2,-3]
++-
110
001
Ancak, basitlik için ilk üç formattan herhangi birini kullanmanızı tavsiye ederim. Tüm girişlerin geçerli olduğunu varsayabilirsiniz.
Örnekler
7 ->
1+2-3+4-5-6+7=0
1+2-3-4+5+6-7=0
1-2+3+4-5+6-7=0
1-2-3-4-5+6+7=0
-1+2+3+4+5-6-7=0
-1+2-3-4+5-6+7=0
-1-2+3+4-5-6+7=0
-1-2+3-4+5+6-7=0
4 ->
1-2-3+4=0
-1+2+3-4=0
2 -> -
8 ->
1+2+3+4-5-6-7+8=0
1+2+3-4+5-6+7-8=0
1+2-3+4+5+6-7-8=0
1+2-3-4-5-6+7+8=0
1-2+3-4-5+6-7+8=0
1-2-3+4+5-6-7+8=0
1-2-3+4-5+6+7-8=0
-1+2+3-4+5-6-7+8=0
-1+2+3-4-5+6+7-8=0
-1+2-3+4+5-6+7-8=0
-1-2+3+4+5+6-7-8=0
-1-2+3-4-5-6+7+8=0
-1-2-3+4-5+6-7+8=0
-1-2-3-4+5+6+7-8=0
puanlama
Bu kod golf , bu yüzden en kısa kod kazanır!
+
olarak N
ve -
sıra -N
veya çok uzağa götürüyor bu? (örneğin 3
-> [[-3,-3,3], [3,3,-3]]
)
0
ve 1
seçenek ama N
ve kullanarak -N
(yukarıdaki düzenleme bakınız)