Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача на питоне

Даниил Саркисянц Ученик (96), на голосовании 3 дня назад
Миша пошёл в магазин и купил "N" число кваса. За каждые "K" пустых бутылок которые сдаёт, он получит, одну полную бутылку кваса. Вопрос: сколько Миша сможет выпить бутылок кваса, до момента пока кол-во сданных бутылок будет меньше значения "K".
Голосование за лучший ответ
Татьяна Просветленный (32838) 1 месяц назад
 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)
Мистер Мистерович Гуру (3661) 1 месяц назад
 def count_bottles(N, K): 
total_bottles = N
empty_bottles = N

while empty_bottles >= K:
new_bottles = empty_bottles // K
total_bottles += new_bottles
empty_bottles = new_bottles + (empty_bottles % K)

return total_bottles

N = int(input("Введите начальное количество бутылок кваса (N): "))
K = int(input("Введите количество пустых бутылок, необходимых для получения одной полной (K): "))

total_bottles = count_bottles(N, K)
print(f"Миша сможет выпить {total_bottles} бутылок кваса.")
Даниил СаркисянцУченик (96) 1 месяц назад
Спасибо
Мистер Мистерович Гуру (3661) Даниил Саркисянц, не за что
Похожие вопросы