Problem 12. * Zero Subset, Условни конструкции, Basics Sep 2015
Здравейте Колеги,
Надявам се някой от вас да успее да ми отговори на въпрос относно задача 12 от домашното за Условни конструкции.
We are given 5 integer numbers. Write a program that finds all subsets of these numbers whose sum is 0. Assume that repeating the same subset several times is not a problem.
Това, което ме притеснява е, че пише „ ...repeating the same subset several times is not a problem“, но в примерите, комбинацията 1 1 1 -1 -1, не дава всички комбинации а само:
1 + -1 = 0
1 + 1 + -1 + -1 = 0
1 + -1 + 1 + -1 = 0
при мен излизат:
1 + -1 = 0
1 + -1 = 0
1 + -1 = 0
1 + -1 = 0
1 + -1 = 0
1 + 1 + -1 + -1 = 0
1 + 1 + -1 + -1 = 0
Подозирам, че това не е правилен резултат, но бих искал да попитам и за вашето мнение преди да преправям решението.
Благодаря!
Много ми хареса твоето решение, Слави :) Поздрави!
Най-много ми допадна, как с един ред образуваш комбинацията за печат :)
tempstring += inputNumbers[jaggedIndices[i][j]].ToString() + (j == jaggedIndices[i].Length-1 ? " = 0" : " + ");
След лекцията за цикли ми дойде още едно по-лесно решение на задачата. И решението е като твойто Слави, генерира всички уникални комбинации даващи 0. Само, че тия индекси не ги пишеш на ръка във int[][] jaggedIndices, а ги генерират 5 вложени цикъла :)
Ето виж: http://pastebin.com/1jPLeiFg
Аз го реализирах с вложени цикли:
http://pastebin.com/z59wN3J0