@NamnaR

Как выбрать кратность из перечисленных кратностей для заданной суммы?

Ребята, добрый день, подскажите, пож-ста с алгоритмом. Ума не приложу.

Прошу помощи в вопросе.

Даны кратности 30, 70, 90, 100 .Сумма, которую вводит пользователь.

если пользователь введет 60 , то эта сумма не меняется. если пользователь введет 45-> сумма 70 155->160(30+70+30+30)
150->150(90+30+30)

UPD

Задача следующая.
Дано коробка-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.
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
купил глушилку сотовых: в маршрутках езжу в тишине
'60' - это число, а не сумма
Ответ написан
@kantenbors
Вот это условие непонятно:
"если пользователь ввел 45, то надо набрать СУММУ кратностей равную 70 (1 коробка по 70, потому что в приоритет ставится дать меньшее число монет)"
Если без него, то решение вот такое (для 45 ответ будет 60):
def f(v):
n=(v+9)//10
if n<7: n=(n+2)//3*3
if n in (8,11): n+=1
return n*10
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Яндекс Москва
от 100 000 до 300 000 руб.
Xored Software Inc. Новосибирск
от 80 000 до 140 000 руб.
СКМ Москва
До 170 000 руб.
20 апр. 2019, в 16:31
500 руб./в час
20 апр. 2019, в 15:00
10000 руб./за проект
20 апр. 2019, в 14:48
30000 руб./за проект