В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
aromishka
aromishka
18.04.2021 12:49 •  Информатика

На питоне через рекурсию На складе в контейнеры упаковывают пакеты с мукой. Сначала мука пакуется в пакеты ровно по L кг в каждый, а потом пакеты - в контейнеры, причем в один контейнер помещается не более K пакетов. Последний контейнер может быть неполным. Всего имеется М кг муки. Сколько всего понадобится контейнеров, сколько пакетов будет в последнем контейнере и сколько кг муки останется на складе не упаковано (упаковать нужно как можно больше муки)? Написать программу: вводятся три целых числа M, K, L в одной строке; вывести три числа в одной строке - сначала количество потребовавшихся контейнеров, затем количество пакетов в последнем контейнере, а затем количество оставшейся муки (кг)

Показать ответ
Ответ:
topcekstrimer
topcekstrimer
19.12.2020 18:37

Исходный код:

def pack(m, k, l, p=0):

   c = 0  # базовый случай когда еще не создавали контейнеры

   # если есть что еще фасовать по пакетам

   if m >= l:

       m -= l

       p += 1

       c, p, m = pack(m, k, l, p)  # продолжаем фасовать муку

   # если можно создать контейнер, то создаем

   if p >= k:

       p -= k  

       c += 1

   return c, p, m

m, k, l = map(int, input().split())

print(*pack(m, k, l))

Примечание:

Часть объяснений выполнено в виде комментариев в коде. Комментарии перед отправкой на проверку рекомендую стереть.

Описание переменных: m - остаток муки на текущий момент, k - кол-во пакетов в контейнере, l - кол-во муки в пакете. c - кол-во полных контейнеров, p - кол-во полных пакетов муки. При рекурсивном погружении фасуем по пакетам, при всплытии фасуем по контейнерам. Грамотная возвращение и передача параметров делают свое дело.

Cкрин из редактора кода тоже прикрепил)


На питоне через рекурсию На складе в контейнеры упаковывают пакеты с мукой. Сначала мука пакуется в
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота