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

  • 8
  • Недоступна
Допустим, мы точно знаем, что в начале каждого часа на нашем светофоре в течение 3 минут горит зелёный, потом минуту — жёлтый, и ещё минуту — красный свет, а затем всё повторяется. Наша программа должна определить, какой свет горит сейчас («сейчас» — это некое вещественное число, определяющееся временем в минутах, прошедших с начала очередного часа).
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (558)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Дмитрий4 уровень
Monday, 13:35
/* Комментарий удален */
Saturday, 22:18
Для тех, у кого затык на "зеленом"! Не забывайте, что зеленый получается и при введеном "0," и при введеной "5"! В остальном решается через if (t >= числу && t < числа), где t введен с клавиатуры. Не забудьте проверить t <= 5 (циклу смены цветов)! И про написание чисел в double. Надеюсь кому-нибудь поможет.
Alexander5 уровень, Днепр
Sunday, 10:53
А если ввести 7? ;)
Pavel Dyakov5 уровень, Санкт-Петербург
14 May, 10:56
Всё повторяется каждые пять минут, зелёный повторно загорится через пять минут, затем жёлтый повторно загорится через пять минут и т.д. Достаточно сделать три условных оператора, в условии которых будет остаток от деления на 5. (T=t%5 - в результате всегда будет значение T в промежутке от 0 до 5). Для преобразование введённого вами числа в число с плавающей точкой используйте double t = Double.parseDouble(x)
Николай5 уровень, Москва
13 May, 18:28
Если вы уже долго сидите и ничего не получается, советую вам посмотреть на написание цветов. Не "зеленый", "желтый", а "зелЁный" и "жЁлтый". P.S. Ё - специально выделил. Может быть кому-то поможет)))
Mihail Klimenko9 уровень, Краснодар
12 May, 18:30
Очень интересно почитать комментарии, решил с первой попытки, воспользовался while (), потом условный оператор
mgr7 уровень, Санкт-Петербург
13 May, 03:32
Если правильно понял, то мое решение аналогичное, правда я на него чуть больше часа потратил:D
Дмитрий Юрьевич5 уровень, Симферополь
12 May, 14:13
Задача с ошибкой в условии, а именно "Ввести с клавиатуры вещественное число t, означающее время в минутах, прошедшее с начала очередного часа" Время прошедшее в минутах с начала очередного часа не может быть больше 60 минут, так как следующий час начинается с 00 минут. Время прошедшее в минутах с начала очередного дня может быть больше 60 минут, так как в сутках 1440 минут. В общем из за этого потратил время на написание ненужного решения и поиска ошибки в нём. Лучше бы вообще не писали "прошедшее с начала очередного часа", или написали бы уже "любое количество минут прошедшее с начала запуска цикла мигания светофора" Двоичка за хорошую задачу.
Mihail Klimenko9 уровень, Краснодар
12 May, 18:35
Не соглашусь с тем, что есть ошибка в условии. Очередность свечения сигналов циклическая, неважно сколько прошло минут, есть четкая математическая привязка каждого сигнала к определенному промежутку времени. Можно любое количество минут путем математических действий довести до промежутка от 0 до 5 минут, и дальше условными операторами выполнить ТЗ
Anton Podoynikov7 уровень, Москва
10 May, 21:02
решил с 18 попытки, все потому что для себя в начале надписал sop для проверки значений😅
Евгений Колесников6 уровень, Chicago
2 May, 23:01
double t = Double.parseDouble(sT), число-то вводим с плавающей точкой, int t = Integer.parseInt(sT) не подходит.
TimurTuresh4 уровень, Актобе
4 May, 14:16
Спасибо, не сразу догнал что везде где инт нужно менять на дабл.
rsborodin10 уровень, Воронеж
2 May, 20:34
Статья для понимания того, что цикл светофора это %5 (деление на 5 по модулю с остатком) Mod и остаток
Сергей Стародумов6 уровень, Березники
9 May, 10:27
Статья помогла решить задачу. Спасибо.
Серега Батенин4 уровень, Москва
10 May, 16:31
Вот спасибо)) а я сидел думал как бы мне шаг прибавить к остальной проверке часа)) раскрыл глаза)
Mihail Klimenko9 уровень, Краснодар
12 May, 18:36
интересное решение, думал над t%5, но в итоге пошел другим путем
Pavel B.6 уровень
19 May, 18:13
даже не представляю как вы вышли на эту статью, но в сочетании с информацией из статьи, новой для меня, получилось оч познавательное задание! ))
Ernest8 уровень, Обнинск
26 April, 15:29
А меня что-то вообще переклинило, и я искал (не знаю, зачем) остаток от деления на 3... Не могу понять даже зачем)