Я формулы пробую,но что-то не то)
Я уже достаточно объяснил, кмк. Дальше говнокод с говноформатированием, который решает задачу. Строгое или нестрогое там неравенство - в условия задачи не вникал. Циклов нет, формула есть.
int period=r+y+g;
int currentSecond=s%period;
if (currentSecond<r) result="red" else if (currentSecond<r+y) result="yellow" else result="green"