Работа светофора для водителей запрограммирована следующим образом: начиная с начала каждого часа, в течение трёх минут горит зелёный сигнал, затем в течение одной минуты — жёлтый, в течение двух минут — красный, в течение трёх минут — опять зелёный и т.д.
Напиши программу, которая определит, какого цвета сигнал горит для водителей в данный момент, если с начала очередного часа прошло time минут
Формат входных данных
Одно целое число time - время в минутах, прошедшее с начала очередного часа
Формат выходных данных
Одна из фраз: "RED", "YELLOW" или "GREEN" для красного, желтого или зелёного цвета светофора
Прикольно, что оставлен ответ который к с++ не имеет отношения, но Тимофей так считает.
0-2 зеленый, 3 желтый, 4,5 красный, ну а далее повторяется цикл из 6 минут
Банально time%6 как и сказано Иван Сигаев,
так как time%6 дает всегда ответ от 0 до 5 и как раз то, что перечислил выше.
Как вариант, можно и так тоже:
#include <iostream>
using namespace std;
int main() {
int time;
cin >> time;
switch( time%6 ) {
case 0: case 1: case 2:
cout << "GREEN";
break;
case 3:
cout << "YELLOW";
break;
case 4: case 5:
cout << "RED";
break;
}
Пожалуйста имейте ввиду, что этот пользователь забанен
Ну вот скрыл ты ответ Ивана Сигаева, дающий короткое правильное решение на С++ - тебе полегчало?
Или ты настолько неуч, что не в состоянии воспроизвести стандартную обвязку, которую "ты" многократно писал в каждом "своём" домашнем задании?
def display_traffic_light_color(time):
color_name, color_code = traffic_light_color(time)
print(f"{Style.BRIGHT}Светофор сейчас показывает: {color_code}{color_name}{Style.RESET_ALL}\n"
def prompt_user_input():
while True:
time_input = input("Введите количество минут, прошедших с начала часа (0-59) или 'q' для выхода: "
if time_input.lower() == 'q':
return None
try:
time = int(time_input)
if 0 <= time < 60:
return time
else:
print(Fore.RED + "Ошибка: Введите число от 0 до 59."
except ValueError:
print(Fore.RED + "Ошибка: Введите корректное целое число."
def main():
init(autoreset=True)
print("\nСистема управления светофором\n"
while True:
time = prompt_user_input()
if time is None:
print("\nВыход из программы. До свидания!"
break
display_traffic_light_color(time)