Учитель diego

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

  • 8
  • Недоступна
Допустим, мы точно знаем, что в начале каждого часа на нашем светофоре в течение 3 минут горит зелёный, потом минуту — жёлтый, и ещё минуту — красный свет, а затем всё повторяется. Наша программа должна определить, какой свет горит сейчас («сейчас» — это некое вещественное число, определяющееся временем в минутах, прошедших с начала очередного часа).
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (356)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Кирилл7 уровень, Санкт-Петербург
вчера, 07:25
Есть вопрос по граничным условиям: почему автотест пропускает условие if (n < 3) и не пропускает if (n <= 3)?
Reeshat4 уровень, Казань
вчера, 11:02
Потому что по условию в 3 минуты ровно (03:00) включается жёлтый.
Кирилл7 уровень, Санкт-Петербург
вчера, 11:21
По условию зеленый горит в течение трех минут, а желтый включается затем, т. е. после
Евгений Морозов5 уровень, Нижний Новгород
позавчера, 15:31
Коллеги, объясните пожалуйста. Почему с double работает, а с float нет?
Aleksandr7 уровень, Санкт-Петербург
воскресенье, 08:41
Пока что одна из лучших задач первых уровней. :) К остатку от деления сразу пришел, а вот дальше потратил около часа на составление условий.
Igor Fed4 уровень, Одесса
суббота, 05:43
Решил через деление с остатком , но упорно не проходил зеленый. Поменял float на double, везде включая Double.parseDouble вместо Float.parceFloat и все прошло.
Александр4 уровень, Санкт-Петербург
воскресенье, 16:21
Та же история, пришлось 9 раз запускать, меняя все по очереди) Может нужно в условиях указать, что именно Double нужен (9,9999999 при float не проходит). Хотя в прошлом году в помощи у ребят работало на Float
Koipse5 уровень
10 сентября, 03:12
Окей, валидатор очень странный. Перебрал 8 способов, дойдя до ArrayList - все ему не так, хотя по-сути все работает. Интересная всратость была в следующем: 1. Про double я знал сразу и его метод Double.valueOf(); 2. Но чтобы валидатор посылал меня к чертям от комбинации: double num = Double.valueOf(number); double result = num % 5; (Хотя с double num = Double.valueOf(number) % 5 будет работать, а с попыткой, что выше, внимание: показывало, что да, все цвета выводятся на экран согласно правилу, а ВТОРОЙ ПУНКТ, который гласит о том, что должен выводится текст - нет. В итоге в истерике 23 попытки из-за всратого валидатора. Дайте мне валидолу)...
Maksim5 уровень, Рига
4 сентября, 07:00
Думал - думал... и придумал. Через цикл do{}while() уменьшал вводимое число на 10 , пока число не станет меньше 10. Таким образом уменьшал диапазон с 0 по 9. А потом сравнивал через if. При каком числе и какой цвет можно догадаться самому.)
Mikhail Safronov6 уровень
17 августа, 14:00
Считает верно, но не засчитывает красный/жёлтый в условиях задачи (хотя при проверке все работает)
Николай6 уровень, Москва
18 августа, 09:27
а если ввести число 7, какой будет сигнал светофора ваша программа выдаст?
Vlad 7 уровень, Milano
18 августа, 14:53
зеленый
Kir_L8 уровень
24 августа, 12:04
С границами точно не напутали? Где сказано, что 3 - это жёлтый, а 4 - это уже красный. Если нет, то попробуйте проверить тип вводимых данных. Лично я на этом и попался - использовал parseFloat, вместо double.
Юрий6 уровень, Москва
28 августа, 07:12
В условии задачи в самом низу указаны примеры, там 3 - жёлтый, а 4 - красный
Kononenko Aleksandr8 уровень, Днепр
13 августа, 13:06
Подскажите пожалуйста, как записать условия в операторе на "желтый" и "красный", а то у меня постоянно выдает ошибку
Александр10 уровень, Калининград
9 августа, 10:23
сидел страдал. пока не понял что отсчет идет с 1, а не с 0. т.е. не с 00:00. а с 01:00 :(
Oleh12 уровень
4 августа, 00:48
Подскажите. Выводит правильные ответы но ОООЧЕНЬ много. Как пофиксить ?
katlamaja5 уровень
4 августа, 13:11
У тебя наверное какой-то цикл
Human 13 уровень
9 августа, 09:39
break наверное поможет