Переходим дорогу вслепую

  • 8
  • Недоступна
Допустим, мы точно знаем, что в начале каждого часа на нашем светофоре в течение 3 минут горит зелёный, потом минуту — жёлтый, и ещё минуту — красный свет, а затем всё повторяется. Наша программа должна определить, какой свет горит сейчас («сейчас» — это некое вещественное число, определяющееся временем в минутах, прошедших с начала очередного часа).
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (482)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Misha-nia9 уровень, Wrocław
11 февраля, 12:39
if (i < 3)  зелёный
if (i >= 3 && i < 4)  жёлтый
if (i >= 4 && i < 5)  красный
xali1ove6 уровень, Москва
10 февраля, 17:00
Может кому то поможет, то можете решить эту задачу использовав один for и три if, если вспомните про математическую последовательность. отрывок решения: for(i=0;i<99999;i++){ if (t>=5*i && t<3+5*i) System.out.println("зелёный");
Ю7 уровень, Москва
5 февраля, 18:17
Без комментариев не справилась бы. Всем спасибо!
Олександр Фалендиш7 уровень, Харьков
1 февраля, 10:21
почему условие для 5ти минутного светофора спрашивает сколько времени прошло с начала часа, это ведь просто цикл на 5 минут.
Артём17 уровень, Ростов-на-Дону
3 февраля, 07:31
Тогда уж циклЫ по пять минут. Мы ведь можем задать значение не только в рамках пяти минут, а например какой сигнал светофора будет гореть через 1542,3 минуты с начала часа. Начало часа тут как точка отсчёта, никакой особой информативности собой не несёт. С таким же успехом можно было сказать "начинаем считать с нуля", только и всего.
Серёга Ягель5 уровень, Днепр
29 января, 18:51
Спасибо всем кто давал советы. Спасибо за Double и за 5 мин. Сделал одним циклом уменьшая на 5 входящее число, пока оно не попадёт в расписанное условие цветов от 0 до 5 ти. Пришлось подумать однако
Tatiana9 уровень
28 января, 15:20
Забуду светофор как страшный сон 💀
HTS4 уровень, Тюмень
25 января, 04:21
Без комментариев не смог бы, спасибо!
Zlodeyokmen7 уровень
24 января, 22:44
Я не мучал себя остатками от деления. дополнительная переменная v типа double с значением 0.0. Затем бесконечный цикл. в нем v+=3. если больше заданного зеленый и break. Затем v+=1 и так же если больше - желтый и на выход. так же красный- сначало v+=1 если больше красны и на выход. ну мне просто лень было с остатками мучаться)
Павел9 уровень, Иркутск
21 января, 16:08
Капец, решил сразу, но не принимает вывод текста, хотя все выводится
Павел9 уровень, Иркутск
21 января, 17:01
Видимо не корректно считается с типом double, поменял на float и валидатор принял
Алексей Владимирович Плотников8 уровень, Санкт-Петербург
19 января, 20:09
Не особо про решение... Но почему после "красного" сразу "зелёный"? Вроде после "красного" "жёлтый" в реале)))