|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.05.2015, 04:02 | #1 |
Пользователь
Регистрация: 27.11.2014
Сообщений: 11
|
Найти подмножество чисел
Подскажите, пожалуйста, как в заданной последовательности (массиве), найти подмножество чисел, сумма которых дает наибольшее число, являющееся степенью 2.
Непонятно именно то, как выделить подмножество. |
21.05.2015, 07:18 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну я думаю перебирать двумя циклами.
Как вот пузырьковая сортировка делается, так и тут. Первый цикл с начала массива, второй с элемента первого цикла. Считать сумму, после второго цикла брать корень.
I'm learning to live...
|
21.05.2015, 15:29 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
думаю, двумя циклами не получится
Ведь нам нужно не два числа найти, а подмножество! Что-то мне подсказывает, что тут ПОЛНЫЙ перебор всех вариантов понадобится. А-ля "рюкзак" |
21.05.2015, 15:40 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Может ты и прав...
I'm learning to live...
|
21.05.2015, 15:46 | #5 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
За квадрат точно можно (ток если подмножество можно представить как непрерывную последовательность элементов массива. Мол с i-того по j-ый)
|
22.05.2015, 22:34 | #6 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
А кстати, Серж абсолютно прав.
Если под множеством понимать произвольный набор элементов массива. Будем использовать рюкзак.(тут его преобразовать и использовать только одномернный массив) тогда получим массив, где элемент говорит можно ли набрать значение равное его индексу. Кстати, можно подумать в сторону оптимизации по памяти для среднего случая, с помощью деревьев. Но остается очень важный момент. Откуда начинать отсчет? Можно идти с конца.. только там вычислять индекс, высчитывать его, а потом идти вниз. Если с начала, то можно идти с единицы, красиво проверять индексы в цикле, но мы пройдем весь массив Что выбрать? |
22.05.2015, 22:39 | #7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
а если под "подмножеством" понимать
Цитата:
впрочем, что-то мне подсказывает, что автор темы уже потерял к ней интерес, поэтому что является "подмножеством" в данной задаче, мы, скорее всего, так и не узнаем! |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дана непустая последовательность целых чисел. Найти: Сумму чисел, больших числа x и количество всех чётных чисел | maksim97maksim | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 09.04.2014 13:59 |
Дана последовательность вещественных чисел. каждая пара чисел задает границы отрезка. Найти количество целых чисел на отрезках | 'studentka' | Помощь студентам | 6 | 30.11.2011 18:35 |
Вводится 10 чисел. Найти среднее арифметическое положительных чисел и произведение отрицательных. | Руся93 | Помощь студентам | 14 | 02.10.2011 13:12 |
С\С++ Дана последовательность чисел. Найти количество различных чисел в этой последовательности | yuliyayuliya | Помощь студентам | 1 | 14.04.2011 06:30 |
Найти подмножество! Без вас не найду) | soleil | Помощь студентам | 1 | 19.01.2008 09:49 |