O. В ожидании доставки

Сегодня в N часов M минут хозяин магазина заказал доставку нового товара. Оператор сказал, что продукты доставят через T минут.
Сколько будет времени на электронных часах, когда привезут долгожданные продукты?

Формат ввода

В первой строке записано натуральное число N (0≤N<24).
Во второй строке записано натуральное число M (0≤M<60).
В третьей строке записано натуральное число T (30≤T<109).

Формат вывода:

Одна строка, представляющая циферблат электронных часов.

Пример

Ввод

10
15
2752

Вывод

08:07

Решение

Задача с небольшим подвохом. Если решать ее так, как привыкло большинство, переводя минуты задержки в часы и оперируя отдельно минутами и часами, решение получается запутанным и сложным.

По большому счету, все что нам нужно знать через сколько минут относительно текущего часа (не всего времени) привезут наш заказ (minutes). Это можно легко вычислить сложив текущие минуты и задежрку.
После чего остается к часам прибавить результат целочисленного деления минут на 60 и не забыть, что значение часов (hours) на, которые показывают наши часы не может быть больше или равно 24. Поэтому не забываем взять остаток от деления на 24. Минуты равны остатку от деления минут на 60.

Остается красиво оформить код, не забывая, что на часах 0 часов показываются как 00, два часа как 02 и так далее. Аналогично дело обстоит и с минутами. Поэтому для вывода удобно использовать f-строки, задав формат в две цифры с лидирующим нулем.

Посмотреть код

Решение.

Python
hours = int(input())
minutes = int(input())
lag = int(input())

minutes = minutes + lag
hours = (hours + minutes // 60) % 24
minutes = minutes % 60

print(f'{hours:02d}:{minutes:02d}')
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии