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

  • 3
  • Недоступна
Допустим, мы точно знаем, что в начале каждого часа на нашем светофоре в течение 3 минут горит зелёный, потом минуту — жёлтый, и ещё минуту — красный свет, а затем всё повторяется. Наша программа должна определить, какой свет горит сейчас («сейчас» — это некое вещественное число, определяющееся временем в минутах, прошедших с начала очередного часа).
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (247)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Павел5 уровень, Екатеринбург
пятница, 10:49
Следует внимательно перечитать условия! Мне помогла эта шпаргалка от 0 до 1 - зеленый от 1 до 2 - зеленый от 2 до 3 - зеленый (не включая верхнюю границу) от 3 до 4 - зеленый (не включая верхнюю границу) от 4 до 5 - красный (не включая верхнюю границу) от 5 до 6 - опять зеленый и т.д.
Stanislav Sukhanov7 уровень
5 марта, 18:13
Сама задача простая. Я вычитал циклом из t интервал пока он не станет 5ти минутным, потом его оценивал. НО "зеленый"!!! Я вручную проверил все пограничные значения, все верно, но зеленый снова и снова. Так почему дабл а не флот, кто расскажет?
Rina9 уровень, Новосибирск
5 марта, 13:47
подсказка: "зеленый" период не включает конец 3 минуты, ну и далее по цепочке
Ardak5 уровень
5 марта, 03:32
все получается пока есть подсказки из комментариев. пока что самому редко получается что понять четко. есть понимание но не на том уровне еще какой нужно.
Jai4 уровень
3 марта, 16:43
Друзья!Мы имеем интервал,в котором находятся наши светофорные минуты.Он равен 5мин.Итак наш час разбит на интервалы.Чтобы понять в каком мы находимся интервале,исходя из введенного времени нужно разделить введенную минуту(например,33 на 5 через деление с остатоком:t=t%5; Получаем 6-й интервал(но,это пофиг,задача об этом не спрашивает) и соответствующий остаток,равный 3.ОН нам и нужен.Мы его сравниваем с числами 1)от 0 до3;с числами 2)от 3-х до 4;с числами 3)от 4-х до 5.Это как раз и есть наши минуты в полученном интервале.Ну,и вывод на экран,конечно.
Alexey Hehnev5 уровень, Санкт-Петербург
8 марта, 17:51
Спасибо!!!
Vladimir Kashin13 уровень, Москва
2 марта, 11:09
Используйте для ввода с клавиатуры:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
       double t = Double.parseDouble(reader.readLine());
Юлия11 уровень, Санкт-Петербург
6 марта, 13:41
Спасибо!
АртемGeek10 уровень, Москва
27 февраля, 12:44
Сначала не обратил внимание что 5 - это опять зеленый. когда понял почему и пришло решение.
gregory5 уровень
23 февраля, 08:00
реально непонятно почему с Float не пропускает,а с Double проходит.ведь не тот уровень точности,один после точки и Float дает достаточную точность
Roman Afonin15 уровень, Санкт-Петербург
22 февраля, 13:17
полезная подсказка про деление без остатка. Ну и да, двух if вполне достаточно
Максим8 уровень
20 февраля, 11:59
Задача очень интересная! После этой задачи понял, что еще очень сильно плаваю в элементарных алгоритмах и не внимательно читаю условия задачи... Что же будем двигаться дальше, прокачивать свои знания ))))