[C#] Arrays - 17 задача


3

Условие:

17. * Write a program that reads three integer numbers N, K and S and an array of N elements from the console. Find in the array a subset of K elements that have sum S or indicate about its absence.

Мое решение:

http://pastebin.com/cuDGR5Ae




Отговори



3

Решение:

http://pastebin.com/XEgppsN7

Обяснение:

Основата на задачата е аналогична с тази от 16та ( http://goo.gl/QzeEH ). Основаните разлики тук са - от входа взимаме дължината на желаната редичка, правим си още една променлива, която да пази дължината на текущата редичка и само тогава когато тези 2 променливи съвпадат, принтираме редичката си.


от Teodor92 (13062 точки)


0
И моето решение не се различава много от твоето найстина доста аналогична задача и бих казал доста по-лесна от някой от предишните задачи като 13 и 14 или поне за мен .

от Svetli (280 точки)


2
Здравейте колеги, и аз използвам битови оператори само че в момента в който намеря такова i което да отговаря на двете условия го запаметявам във друга променлива,която използвам след това при извеждането.
Ето го моето решение:
http://www.telerik-vats.cloudvps.bg/c-ii-част-масиви-17-задача/

от smg_hacker (484 точки)


1

Това е моето решение, като за запазване на редицата използвам List:

http://pastebin.com/AH8p4qrh


от ScorpS (1542 точки)


2

Ето и моето решение: source.

Подобно на предната задача.


от jasssonpet (6814 точки)


1
Подобно на 21-ва, генерирам всички суми, на подмножествата и изкарвам само тези съдържащи К на брой елементи и равни на сумата зададена в конзолата.

http://pastebin.com/JCKf0wjK

от Prophian (1234 точки)


0

http://pastebin.com/R0XABJPh

Абсолютно същото решение като предходната задача, с разликата, че четем една допълнителна променлива от конзолата и съоветно си въвеждаме една нова променлива count, която всеки брои дали броя на числата, които формират съоветната сума е равен на променливата, която сме прочели.


от boncho.vylkov (1923 точки)


1

Subset sum - fixed length

Опитах се да оптимизирам максимално кода, като за целта създадох метод, който ми връща в списък само числата, съдържащи точно толкова единици в двоичното им представяне, колкото са зададени като дължина на подмножеството.

 


от kdikov (3407 точки)


1

Тази задача може да се направи, с побитови операции, с динамично оптимиране, както и с рекурсия, както и повечето от другите задачи в това домашно. Аз я направих с рекурсия.

Решение

 

 


от nikola76 (1250 точки)


0

Като тази от Conditional Statements и предходната, само на тази и добавих брояч:

 

http://pastebin.com/91vvhpk3
 

от anonymous (0 точки)


0
Това е моето решение - http://pastebin.com/tUgrpMuK
Copy/Paste на 16 задача, като е добавена проверка за броя на елементите които образуват сумата.

от szaekov (155 точки)