Задача 11 Цикл работы светофора такой: красный (горит а секунд), красный с жёлтым (b секунд), зелёный (с секунд), жёлтый (b секунд). Затем последовательность повторяется. Только что включился красный. Нужно посчитать, сколько времени горит каждый свет, если известно, что светофор работал N секунд. Обратите внимание, что красный и жёлтый горят дважды за цикл: один раз вместе с другим цветом, второй раз отдельно. Время, когда на светофоре горят два сигнала - красный и жёлтый - -«засчитывается>> обоим сигналам. Даны числа а, b, c, N. Выведите, сколько всего секунд горел каждый сигнал светофора за N секунд его работы. Ввод | Вывод 20 5 25 120 60 20 50 Примечание: ПОЛНЫЙ ЦИКЛ светофора ∂лимся 20+5+25+5=55 секунд. Светофор отработал два полных цикла, а потом ещё 120-55х2=10 секунд горел красный. В каждом цикле красный горum 20+5=25 секунд, жëлмый горим 10 секунд, а зелёный 25 секунд. Имого, красный горел 25х2+10=60 секунд, жёлтый горел 10х2=20 секунд и зелёный горел 25х2=50 секунд.
Answers & Comments
Ответ:
Объяснение:
Python 3.10.
a = int(input())
b = int(input())
c = int(input())
N = int(input())
full_cycle = a + b + c + b
cycle_count = N // full_cycle
red = (a + b) * cycle_count
yellow = (b * 2) * cycle_count
green = c * cycle_count
add_time = N - full_cycle * cycle_count
if add_time > 0:
if add_time - a > 0:
if add_time - a - b > 0:
if add_time - a - b - c > 0:
red += a + b
yellow += b + (add_time - a - b - c)
green += c
else:
red += a + b
yellow += b
green += add_time - a - b
else:
red += a + (add_time - a)
yellow += add_time - a
else:
red += add_time
print(red)
print(yellow)
print(green)