Часть объяснений выполнено в виде комментариев в коде. Комментарии перед отправкой на проверку рекомендую стереть.
Описание переменных: m - остаток муки на текущий момент, k - кол-во пакетов в контейнере, l - кол-во муки в пакете. c - кол-во полных контейнеров, p - кол-во полных пакетов муки. При рекурсивном погружении фасуем по пакетам, при всплытии фасуем по контейнерам. Грамотная возвращение и передача параметров делают свое дело.
Исходный код:
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крин из редактора кода тоже прикрепил)
1) Минимальное основание = 10
2) Минимальное основание = 5
3) Минимальное основание = 8
Объяснение:
Система счисления записи чисел с цифр;
Цифры - специальные знаки или символы для записи чисел;
Алфавит - набор цифр, используемые в системе счисления;
Основание - количество цифр в алфавите.
Алфавит каждой системы счисления начинается с нуля:
2-ая (основание) система счисления: 0, 1; (содержит две цифры)
3-ая (основание) система счисления: 0, 1, 2; (содержит три цифры)
4-ая (основание) система счисления: 0, 1, 2, 3; (содержит четыре цифры)
5-ая (основание) система счисления: 0, 1, 2, 3, 4; (содержит пять цифр)
6-ая (основание) система счисления: 0, 1, 2, 3, 4, 5; (содержит шесть цифр)
7-ая (основание) система счисления: 0, 1, 2, 3, 4, 5, 6; (содержит семь цифр)
8-ая (основание) система счисления: 0, 1, 2, 3, 4, 5, 6, 7; (содержит восемь цифр)
9-ая (основание) система счисления: 0, 1, 2, 3, 4, 5, 6, 7, 8; (содержит девять цифр)
10-ая (основание) система счисления: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; (содержит десять цифр)
1)
9, 122, 1100, 14
Находим наибольшие цифры в каждом числе
9, 122, 1100, 14
Находим наибольшую цифру среди всех чисел
9, 2, 1, 4
Наибольшая цифра = 9 ⇒ минимальное основание = 10
2)
100, 112, 1004, 4444
Находим наибольшие цифры в каждом числе
100, 112, 1004, 4444
Находим наибольшую цифру среди всех чисел
1, 2, 4
Наибольшая цифра = 4 ⇒ минимальное основание = 5
3)
11, 7, 12, 222, 102
Находим наибольшие цифры в каждом числе
11, 7, 12, 222, 102
Находим наибольшую цифру среди всех чисел
1, 7, 2
Наибольшая цифра = 7 ⇒ минимальное основание = 8