Для праздника Паше нужно купить n пирожных. В магазине можно купить либо одно пирожное за a рублей, либо упаковку из k пирожных за b рублей. Помогите Паше узнать, какую минимальную сумму ему нужно потратить, чтобы получить как минимум n пирожных.
# вводим n, a, k, b - неописанным в тексте вопроса способом
print(min(n * a, n // k * b + min(n % k * a, b))) Существует всего 3 варианта, из которых надо выбрать минимальный: Каждое пирожное покупается отдельно.Покупаем n // k коробок, а остаток докупаем отдельными пирожными.Покупаем n // k + 1 коробку.
def min_cost(n, a, k, b):
# Минимальная стоимость
min_cost = float('inf'
# Перебираем количество упаковок от 0 до максимального возможного
for packs in range((n // k) + 2): # +2, чтобы учесть случай, когда нужно больше пирожных
# Количество пирожных, которые мы получим из упаковок
total_from_packs = packs * k
# Оставшиеся пирожные, которые нужно купить поштучно
remaining = max(0, n - total_from_packs)
# Общая стоимость
cost = packs * b + remaining * a
min_cost = min(min_cost, cost)
return min_cost
# Чтение входных данных
n = int(input("Введите количество пирожных: ")
a = int(input("Введите стоимость одного пирожного: ")
k = int(input("Введите количество пирожных в упаковке: ")
b = int(input("Введите стоимость упаковки: ")
# Вычисление и вывод результата
result = min_cost(n, a, k, b)
print(result)