Шаги решения:
1. Вычислим время, прошедшее с 8:00 до момента прихода Вадима на остановку, используя формулу: время = (H-8) * 60 + M.
2. Вычислим количество минут, прошедших с момента прихода Вадима на остановку до последнего автобуса в 22:00, используя формулу: доступное время = (22-8) * 60.
3. Найдем наименьшее общее кратное чисел A и B, чтобы определить, через какой промежуток времени проходят оба типа автобусов. Обозначим это число как k.
4. Поделим доступное время на k, чтобы узнать количество возможных примерных промежутков времени, когда могут приходить оба типа автобусов.
5. Умножим результат на k, чтобы определить общее количество минут, прошедших с момента прихода Вадима, когда могли прийти автобусы обоих типов.
6. Если это число больше времени, прошедшего с прихода Вадима до остановки, значит, Вадим пропустил оба типа автобусов и должен ожидать следующих.
7. Если это число меньше или равно времени, прошедшему с прихода Вадима до остановки, значит, Вадим успел сесть в автобус. Вычислим оставшееся время до прихода следующего автобуса, используя формулу: оставшееся время = (время – K) % (наименьшее общее кратное A и B).
8. Если оставшееся время меньше A, значит, следующий автобус будет типа A и Вадим должен подождать его. Иначе, следующий автобус будет типа B и Вадим также должен подождать его.
9. Выведем ответ: время прихода следующего автобуса в формате H:MM.
Пример:
1. Пусть Вадим пришел на остановку в 9:30, A = 15 и B = 20.
2. Время прихода Вадима = (9-8) * 60 + 30 = 90 минут.
3. Доступное время = (22-8) * 60 = 840 минут.
4. Наименьшее общее кратное чисел A и B = 60.
5. Количество возможных примерных промежутков времени = 840 / 60 = 14.
6. Общее количество минут, прошедших с момента прихода Вадима = 14 * 60 = 840 минут.
7. 840 >= 90, значит, Вадим успел сесть в автобус.
8. Оставшееся время = (840 – 90) % (наименьшее общее кратное A и B) = 750 % 60 = 30 минут.
9. Следующий автобус будет типа А. Время прихода следующего автобуса = 9:30 + 30 = 10:00.