Задача

1. user2012078 10.04.24 17:37 Сейчас в теме
Всем добрый день!

Задача:
Организация выставляет своим контрагентам счета на оплату своих услуг. Таких счетов может быть любое количество и на любую сумму. Контрагенты платят организации совершенно случайную сумму. Эту сумму необходимо распределить по заказам таким образом, чтобы охватить как можно большее количество заказов одной оплатой. Причем, оставшуюся часть суммы (если она останется) можно отбрасывать (не учитывать). Таким же способом находим все остальные подходящие комбинации и выводим их.

Пример интерфейса: имеем список заказов с номерами на определенную сумму слева. Вводим сумму оплаты, нажимаем кнопку Обработать и на выходе справа получаем все комбинации подходящие по сумме оплаты и отсортированные соответствующим образом.


Нужна помощь опытных и критиков)
Общее понимание решения есть, но с написанием правильного алгоритма возникли проблемы.
Заранее спасибо)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. DmitryHV 30.06.24 15:53 Сейчас в теме
(1) Получилось решить задачу?)
2. Oldsad 11.04.24 02:50 Сейчас в теме
Вот вам гениальный алгоритм:
берете и распределяете по 1-ой копейке на каждый заказ, таким образом вы сможете охватить максимальное количество заказов одной оплатой, остаток отбрасывайте и не учитывайте, как и сказано в вашем т.з.

П.С. Тому кто придумал не менее гениальный способ распределения поступающих оплат от клиентов передавайте привет.
4. Lenten 25 01.07.24 15:40 Сейчас в теме
некропостинг но все же

отсортировать заказы по сумме по возрастанию. Т.е. у нас сначала заказы с наименьшей суммой и мы их пытаемся оплатить.

Заказ оплачиваем, вычитаем эту сумму из суммы оплаты. И так до того момента, пока сумма заказа не будет превышать остаток суммы оплаты
5. Zevzm 01.07.24 15:54 Сейчас в теме
(4)Его уже отчислили, наверное...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот