def total_drinks(N, K):
total = N
empty_bottles = N
while empty_bottles >= K:
new_drinks = empty_bottles // K
total += new_drinks
empty_bottles = empty_bottles % K + new_drinks
return total
# Пример использования:
N = 10 # начальное количество бутылок кваса
K = 3 # количество пустых бутылок для получения одной полной
print(total_drinks(N, K)) # выводит общее количество выпитых бутылок
Этот код выполняет следующие действия:
Инициализирует общее количество выпитых бутылок total значением N.
Устанавливает количество пустых бутылок равным N.
В цикле проверяет, хватает ли пустых бутылок для обмена на новые напитки (empty_bottles >= K).
Рассчитывает количество новых напитков (new_drinks) и добавляет его к общему количеству.
Обновляет количество пустых бутылок (остаток от деления плюс количество новых напитков).
Повторяет шаги 3-5, пока пустых бутылок не станет меньше K.
Возвращает общее количество выпитых бутылок.
Можно записать и проще
def total_drinks(N, K):
return N + N // (K - 1)