Вберляндии плачевная ситуация с междугородним автобусным сообщением. во всей стране есть всего три автобусных маршрута, по каждому из которых курсирует лишь один автобус. в первый день нового года ровно в полночь все три автобуса отправляются по своим маршрутам из столицы берляндии. известно, что
первому автобусу на то, чтобы проехать весь маршрут и вернуться в столицу требуется a минут, второму — b минут, а третьему — c минут. таким образом, первый автобус отправляется из столицы берляндии в моменты времени 0, a, 2a, 3a, . ., второй — в моменты времени 0, b, 2b, 3b, . ., а третий в
моменты времени 0, c, 2c, 3c, . .. момент времени называется подходящим для пересадки, если в этот момент все три автобуса отправляются из столицы берляндии. например если a = 1, b = 2, c = 1, то моменты времени 0 и 2 являются подходящими для пересадки, а момент времени 1 не является, потому что в
этот момент времени второй автобус находится в пути. берляндия — особая страна с особым измерением времени, поэтому в берляндских сутках ровно t минут. это означает, что в первый день происходят все моменты времени с 0-го по (t−1)-й включительно, во второй день — c t-го по (2t−1)-й включительно, в
третий — с 2t-го по (3t − 1)-й включительно и так далее. министерство транспорта берляндии заинтересовалось, сколько подходящих для пересадки мо- ментов времени произойдёт в d-й день в берляндии. к сожалению, местные чиновники заняты другими делами, поэтому ответить на этот вопрос было поручено вам.
формат входных данных в пяти строках заданы пять целых чисел a, b, c, t и d (1 ⩽ a, b, c ⩽ 106 , 1 ⩽ t, d ⩽ 109 ) — время полного прохождения маршрута первым, вторым и третьим автобусами, соответственно, количество минут в сутках и номер дня, которым интересуется министерство транспорта берляндии.
формат выходных данных выведите одно целое число — количество подходящих для пересадки моментов времени в d-й день. примеры стандартный ввод стандартный вывод 1 2 1 3 1 2 2 3 4 7 2 1 2 3 4 3 3 0
Сегодня мы рассмотрим задачу о пересадках автобусов в вымышленной стране Вберляндии. В Вберляндии существует всего три автобусных маршрута, по которым курсирует только один автобус на каждом маршруте. В первый день нового года, ровно в полночь, все три автобуса отправляются по своим маршрутам из столицы Вберляндии.
Мы знаем, что для прохождения всего маршрута и возвращения в столицу первому автобусу требуется a минут, второму - b минут, а третьему - c минут. Автобусы отправляются из столицы Вберляндии в определенные моменты времени:
- Первый автобус отправляется в моменты времени 0, a, 2a, 3a и так далее.
- Второй автобус отправляется в моменты времени 0, b, 2b, 3b и так далее.
- Третий автобус отправляется в моменты времени 0, c, 2c, 3c и так далее.
Момент времени называется подходящим для пересадки, если в этот момент все три автобуса отправляются из столицы Вберляндии. Например, если a = 1, b = 2 и c = 1, то моменты времени 0 и 2 являются подходящими для пересадки, а момент времени 1 не является таковым, потому что в этот момент времени второй автобус находится в пути.
Вберляндия - особая страна с особым измерением времени, где сутки длительностью t минут. В первый день происходят все моменты времени с 0-го по (t-1)-й включительно, во второй день - с t-го по (2t-1)-й включительно, в третий - с 2t-го по (3t-1)-й включительно и так далее.
Министерство транспорта Вберляндии интересуется, сколько подходящих для пересадки моментов времени произойдет в d-й день. Ответ на этот вопрос поможет улучшить междугороднее автобусное сообщение.
У нас есть пять чисел, которые вводятся пользователем:
a - время полного прохождения маршрута первым автобусом,
b - время полного прохождения маршрута вторым автобусом,
c - время полного прохождения маршрута третьим автобусом,
t - количество минут в сутках,
d - номер дня, которым интересуется министерство транспорта Вберляндии.
Наша задача состоит в том, чтобы вычислить количество подходящих для пересадки моментов времени в d-й день в Вберляндии.
Прежде чем перейти к решению, распишем условия задачи более подробно:
В день с номером i происходит событие подходящее для пересадки, если:
1. Время i должно находиться в интервале от (i-1)t до (it-1) включительно.
2. Время i должно быть кратно a, b и c.
Теперь, когда мы разобрали условия задачи, переходим к решению:
1. Найдем максимальное время, на которое можно отправиться на следующую пересадку. Максимальное время будет наименьшим общим кратным чисел a, b и c. Для этого воспользуемся алгоритмом нахождения наименьшего общего кратного (НОК) или условимся обозначать его как lcm (least common multiple).
a) Найдем НОК между a и b, обозначим его как lcm_ab.
Для этого воспользуемся формулой:
lcm_ab = (a * b) / gcd(a, b),
где gcd(a, b) обозначает наибольший общий делитель (greatest common divisor) между a и b.
b) Найдем НОК между lcm_ab и c, обозначим его как lcm_abc.
Для этого воспользуемся формулой:
lcm_abc = (lcm_ab * c) / gcd(lcm_ab, c).
Теперь у нас есть значение lcm_abc, которое показывает, через какие интервалы времени происходят подходящие для пересадки моменты.
2. После нахождения lcm_abc, вычислим количество подходящих для пересадки моментов времени в д-й день.
a) Создадим переменную count и инициализируем ее значением 0. Она будет считать количество подходящих для пересадки моментов.
b) Создадим переменную i и инициализируем ее значением (d-1)*t. i будет отслеживать текущее время в рамках дня d.
c) Пока i не превысит dt (конец дня d), будем проверять, является ли i подходящим для пересадки моментом.
- Если i кратно lcm_abc (остаток от деления i на lcm_abc равен 0), увеличим значение count на 1.
d) После завершения цикла получим количество подходящих для пересадки моментов в день d, которое хранится в переменной count.
3. Выведем полученный результат - количество подходящих для пересадки моментов времени в д-й день.
Надеюсь, что объяснение было понятным и подробным. Если возникли вопросы, не стесняйтесь задавать их!