Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2014, 15:30   #1
fourston
 
Регистрация: 06.05.2014
Сообщений: 5
По умолчанию Можно ли разложить гантели в кучки равной массы и с равным количеством гантелей

Есть N гантелей массой m1..mN. Определить можно ли разложить гантели в кучки равной массы и с равным количеством гантелей. Использовать динамический массив.

Я предполагаю, что надо найти всю сумму и разделить ее на 2, так мы найдем какой массы будут кучки. Затем найти все возможные варианты наборов гантелей этой суммы и, если найдутся кучки с равным количеством гантелей, вывести "да, возможно"
fourston вне форума Ответить с цитированием
Старый 06.05.2014, 16:00   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а с чего Вы решили, что делить нужно на два?!
имхо, кучек может быть две или больше
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.05.2014, 16:15   #3
fourston
 
Регистрация: 06.05.2014
Сообщений: 5
По умолчанию

кучки должно быть две.
fourston вне форума Ответить с цитированием
Старый 06.05.2014, 16:42   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от fourston Посмотреть сообщение
кучки должно быть две.
Я не то, чтобы хотел с ваши дисскутировать, но я прошу Вас уточнить:
из чего это следует?

В задании я этого не увидел.


кстати, формально говоря, в задании ещё не сказано, что ВСЕ гантели должны быть разложены по кучками. Впрочем, тут я соглашусь, что это явно подразумевается...


p.s. и ещё хочу предостеречь/проинформировать: ваша задачка совсем на так проста, как она кажется на первый взгляд!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.05.2014, 17:44   #5
fourston
 
Регистрация: 06.05.2014
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Я не то, чтобы хотел с ваши дисскутировать, но я прошу Вас уточнить:
из чего это следует?

В задании я этого не увидел.


кстати, формально говоря, в задании ещё не сказано, что ВСЕ гантели должны быть разложены по кучками. Впрочем, тут я соглашусь, что это явно подразумевается...


p.s. и ещё хочу предостеречь/проинформировать: ваша задачка совсем на так проста, как она кажется на первый взгляд!
Думал все это будет очевидно. Да, знаю, что задачка трудновата. Пытаюсь найти самое оптимальное решение)
fourston вне форума Ответить с цитированием
Старый 06.05.2014, 18:53   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Насчет оптимальности не думал, но идея тупого перебора зашкаливает - представьте 100 гирь и число сочетаний 50 из них
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 06.05.2014, 19:10   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Пусть вес i-той гантели. Тогда W - сумма всех w[i] от 1 до n
Всего гантелей n -> делители числа W - возможные варианты разбиения
При чтении сразу найдем Min и Max последовательности. И теперь проверяем делители числа W из диапазона [Min, Max}
Poma][a вне форума Ответить с цитированием
Старый 06.05.2014, 19:26   #8
fourston
 
Регистрация: 06.05.2014
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Пусть вес i-той гантели. Тогда W - сумма всех w[i] от 1 до n
Всего гантелей n -> делители числа W - возможные варианты разбиения
При чтении сразу найдем Min и Max последовательности. И теперь проверяем делители числа W из диапазона [Min, Max}
Это ясно, спасибо, а можно вывести две отсортированные кучки?
fourston вне форума Ответить с цитированием
Старый 06.05.2014, 19:32   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ромаха, идею не понял. 1+3+5+7=16, разбиение 1+7 = 3+5. Где там делители 16?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 06.05.2014, 19:33   #10
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

1+7=3+5 = 8
16 / 2 = 8
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повесить общую процедуру на событие кучки компонентов Valio Общие вопросы Delphi 14 13.10.2014 18:32
Задача: Найти количество всех 2K-значных счастливых билетов с суммой цифр, равной N. Lodyr Помощь студентам 7 04.01.2010 16:19
Проверка, является ли число равным одному из чисел, получаемых из запроса Adoquery Абдуллаев Рустам БД в Delphi 8 01.05.2009 17:06