помогите с решение в php или C++

Работа светофора запрограммирована таким образом: с начала каждого часа, в течении трех минут горит зеленый сигнал, следующие две минуты горит красный, дальше в течении трех минут - зеленый и т. д. Вам нужно разработать программу, которая по введенному числу определяла какого цвета сейчас горит сигнал.


Ответы (2 шт):

Автор решения: Harry

Каждые 5 минут ситуация повторяется. Так?

Значит, берем количество минут после целого часа, находим остаток от деления на 5. Если это 0, 1 или 2 - значит, зеленый, иначе - красный.

Запрограммировать-то сами, надеюсь, сможете?

→ Ссылка
Автор решения: vp_arth

Вот такое рабочее решение на двойку зайдёт)

function solve($minutes) {
    [$a, $b] = array_map(fn($x) => (int)"$x"[strlen($x)-1], [$minutes+1, $minutes+2]);
    return $a === 0 || $a === 5 || $b === 0 || $b === 5 ? 'red' : 'green';
}

for ($i = 0; $i < 15; ++$i) {
    $result = solve($i);
    echo "$i: {$result}\n";
}

Если убедишь препода, что ты просто презираешь деление, то можно и тройку =)

→ Ссылка