На заводе необходимо разлить N литров молока в бидоны. Имеется неограниченное число бидонов объемом 1 литр, 5 литров и 6 литров. Определите, какие бидоны нужно использовать, чтобы все бидоны были заполнены и их количество было минимальным. Входные данные Входная строка содержит одно натуральное число – количество литров молока N , которое нужно распределить по бидонам. Известно, что N ≤ 1000 . Выходные данные В первой строке программа должна вывести количество использованных бидонов, а во второй – объемы этих бидонов в порядке убывания (невозрастания).
1. Получаем входные данные - количество литров молока N.
2. Создаем переменные:
- milk_left - количество оставшегося молока, изначально равное N.
- six_liters - количество бидонов объемом 6 литров, изначально равное 0.
- five_liters - количество бидонов объемом 5 литров, изначально равное 0.
- one_liter - количество бидонов объемом 1 литр, изначально равное 0.
3. Если milk_left делится на 6 без остатка:
- Присваиваем six_liters значения milk_left / 6.
- Обновляем milk_left = 0.
4. Иначе:
- Пока milk_left > 6:
- Увеличиваем six_liters на 1.
- Уменьшаем milk_left на 6.
- Если milk_left > 0:
- Если milk_left < 5:
- Присваиваем one_liter значения milk_left.
- Обновляем milk_left = 0.
- Иначе:
- Увеличиваем five_liters на 1.
- Уменьшаем milk_left на 5.
5. Выводим количество использованных бидонов:
- Выводим six_liters + five_liters + one_liter.
6. Выводим объемы использованных бидонов в порядке убывания:
- Если six_liters > 0:
- Выводим six_liters раз число 6.
- Если five_liters > 0:
- Выводим five_liters раз число 5.
- Если one_liter > 0:
- Выводим one_liter раз число 1.
Таким образом, мы определяем минимальное количество использованных бидонов и их объемы в порядке убывания. Если задачу максимально детализировать и объяснить школьнику, можно привести пример. Например, если N = 17, мы можем использовать два бидона объемом 6 литров и один бидон объемом 5 литров. Общее количество использованных бидонов будет равно 3, а их объемы в порядке убывания - 6, 6 и 5.