0 / 0 / 0
Регистрация: 20.03.2017
Сообщений: 91
|
|
Как выбрать кратность из перечисленных кратностей для заданной суммы?24.12.2018, 21:19. Показов 2760. Ответов 15
Метки нет Все метки)
(
Ребята, добрый день, подскажите, пож-ста с алгоритмом. Ума не приложу.
Прошу помощи в вопросе. Даны кратности 30, 70, 90, 100 . Сумма, которую вводит пользователь. если пользователь введет 60 , то эта сумма не меняется. если пользователь введет 45-> сумма 70 155->160(30+70+30+30) 150->150(90+30+30) причем кратностей может быть много, не только 4, а более 5, 6, 7.... Найти быстрый алгоритм, позволяющий округлять в большую сторону.
0
|
24.12.2018, 21:19 | |
Ответы с готовыми решениями:
15
Какие выбрать комплектующие из перечисленных? Проверка суммы на кратность ценам товара
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
25.12.2018, 00:00 | |
Ребята, добрый день, Ума не приложу. Прошу помощи в вопросе. Ну и как это все понять?
Не по теме: Я учился у Ванги. Был на хорошем счету. Подавал надежды. Но тут я понял, что я - фуфло. И ничему меня не научили. Только даром тратили время.
1
|
![]() ![]() |
|
25.12.2018, 00:12 | |
kframv, что такое "кратность" в вашем понимании? Кратность чего? Есть выражение "70 кратно 7", то есть 70 делится на 7 без остатка. А у вас?
По какому принципу из 45 получается 70? Точно, что бабы Ванги не хватает здесь.
0
|
0 / 0 / 0
Регистрация: 20.03.2017
Сообщений: 91
|
|
25.12.2018, 05:06 [ТС] | |
Дано коробка-30шт - 2 упаковки, коробка-70 шт- 3 упаковки, коробка 90-1 упаковка, коробка 100- 8 упаковок
Есть поле инпут, в которое вводит пользователь некую сумму. мне нужно, чтобы клиент смог сделать - если пользователь ввел 60, то надо набрать СУММУ кратностей равную 60 (2 коробки по 30) - если пользователь ввел 45, то надо набрать СУММУ кратностей равную 70 (1 коробка по 70, потому что в приоритет ставится дать меньшее число монет) - если пользователь ввел 155, то надо набрать СУММУ кратностей равную 160 (4 коробки 30 70 30 30, или если числом монет то надо дать 2 коробки 90 и 70) Клиент может заказать кол-во товаров превышающее наличие (30*2+70*3+90+8*100=1160). но тогда будет под заказ. Мне главное, чтобы запретить клиенту заказать 5 позиции- можно заказать только 30. Добавлено через 4 минуты по принципу того, что нельзя заказать 45 шт, если заданы кратности коробки в 70шт, в 30шт, в 90шт, в 100шт.
0
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
25.12.2018, 12:55 | |
Все-таки не хотелось бы подводить своих учителей...
Попробуем поставить задачу так. Есть некий штучный товар. Скажем, презервативы. Они упакованы в коробки по 30, 70, 90, 100 штук. Клиент заказывает N презервативов. Но продавец не хочет коробки вскрывать. Найти наименьшее число K, большее или равное N, удовлетворяющее запрос покупателя, которое можно составить, не вскрывая коробок. И указать набор коробок. Если число K можно получить несколькими способами, указать тот, в котором число коробок минимально. Так? Похоже?
0
|
![]() ![]() |
|
25.12.2018, 13:32 | |
Байт, и ещё одна проблема в критерии: можно получить количество презиков немного больше нужного, но большим числом коробок, либо сильно больше нужного, но малым числом коробок. В посте #1 kframv для заказа 150 шт. товара использовал набор коробок 90+30+30 (3 коробки), но набор 90+70 даёт бОльшую сумму товара, но меньше коробок. Вопрос к ТС. Например, был бы заказ 145 шт., что выбрать: 90+30+30 или 90+70 и почему?
0
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
25.12.2018, 13:46 | |
jogano, да, это уже многокритериальная задача, а их, как правило, трудновато решить без сведения к одному критерию....
0
|
![]() ![]() 3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|
25.12.2018, 14:09 | |
Байт, с таким объектом
![]() У меня в представлении что то напоминающее было, но введение объекта "количество монет" меня добило окончательно. Вот вариант решения с помощью функции "Поиск решения" в EXCEL. Число вариантов "коробок" специально сделал чуть больше (как где-то упоминалось ТС). Задача строится как поиск оптимума по штрафной функции. Конечно штрафную функцию возможно надо подстроить с учетом замечаний jogano. Вот собственно файл
1
|
0 / 0 / 0
Регистрация: 20.03.2017
Сообщений: 91
|
|
25.12.2018, 21:35 [ТС] | |
все зависит от наличия на складе.
Пример ниже. все выбирается наугад, в зависимости от наличия на складе Есть магазин-инет, открываем карточку товара. По данному артикулу этого товара мы продаем коробки : а)в упаковке -20шт, -кратность 20 (кол-во коробок=4) б)в упаковке -50шт,-кратность 50 (кол-во коробок=2) в)в упаковке -90шт.-кратность 90 (кол-во коробок=1) всего у нас шт-(20*4+50*2+90=270шт) в поле ввода количества по умолчанию стоит 20шт(найменьшая кратность), если мы нажмем клавишу вверх( то увеливываем на 20 в поле-инпут станет40) если мы поменяем значение в самом поле, то должен стоять алгоритм если мы введем 50 или 90, то система ничего не меняет. если мы введем 45 то система в поле инпут должна поменять на 50. если мы введем 70 , то система должна вывести окно (ты можешь взять 70, но коробки 20 и 50)- ставим галочки если мы введем 290 шт- система выведет (коробка 20шт-4, коробка 50шт-2, коробка 90шт -1) + заказ 20шт -ставим галки и заказываем в корзину.
0
|
25.12.2018, 22:05 | |
Не по теме: Однако, учителей своих я подвел. Как был дураком и неумехой, так и остался. Простите меня, люди добрые, но я все равно понять не в силах ни-че-го
0
|
![]() ![]() |
|
25.12.2018, 22:33 | |
Не по теме: Я не могу так ... , аналитический мозг не способен без поллитры разобраться :)
0
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
25.12.2018, 22:36 | |
0
|
![]() ![]() 3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
||||||
26.12.2018, 11:14 | ||||||
Попытаюсь угадать еще раз.
Вот код на MATLAB, который определяет возможный набор количества из набора коробок, и количество коробок для реализации данного набора. Кликните здесь для просмотра всего текста
Вот такой результат он выдает, на основе данных из сообщения №10 0 20 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 250 270 0 1 2 0 3 1 4 2 0 3 1 4 2 3 3 4 4 0 3 1 4 2 3 4 0 0 0 1 0 1 0 1 2 1 2 1 2 0 2 0 2 2 1 2 1 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 Добавлено через 11 минут Да, забыл написать очередное придумывание вместо ТС задачи. На складе имеется некоторый товар (штучный) упакованный в коробки разной вместимости, причем в текущий момент на складе в наличии только определенное количество коробок каждого вида. Некий ЗАКАЗЧИК собирается сделать заказ, но тк коробки продаются только целиком ни в коем случае не вскрываясь (а то Байт придумал их тут вилами разгружать ![]() Вот ТС и предлагает помочь ЗАКАЗЧИКУ с выбором, и на форме заказа иметь например ComBox с заполненными возможными для поставки количествами товара, и ЗАКАЗЧИК выберет из этого уже ограниченного перечня. Одновременно надо знать, а сколько каких коробок надо отправлять, чтобы выполнить заказ. PS Ежели я угадал формулировку задачи, так искусно зашифрованную ТС, то прошу мне выдать ОРДЕН имени ВАНГИ
1
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
26.12.2018, 11:51 | |
Непременно, непременно... Похлопочем перед администрацией за учреждение. а как только, так я первый же вас и рекомендую.
Но и вам придется принять участие, а не сидеть сложа руки. Эскизик бы... Если сами не могете (лично я вообще могу поспорить за качество рисунка только с куриной лапой) - можно попросить кого-то. Тут у нас на форуме есть такие умельцы... А название само напрашивается. "Экстрасекс Форума" ![]()
0
|
![]() ![]() 3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|
26.12.2018, 12:04 | |
0
|
26.12.2018, 12:04 | ||||||
Помогаю со студенческими работами здесь
16
Подбор значений для заданной суммы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть.
Дело в том, что я. . .
|
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
|
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
|
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
|
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
|
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
|
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
|
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
|
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
|
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
|