Всем привет. Сейчас завершил 5й уровень. И появился вопрос. Для простоты понимания сформулирую в виде задачки. Вводим дату (пускай будет целое число от 1го до 365) и назовем day. эта day - первый день, когда начинается график работы, скажем на производстве, от которого начинается вот такой отсчет: 2дня работаем, 3 отдыхаем, затем 1 день работаем, 2 отдыхаем и пошло по новой (2 рабочих, 3 отдыха, 1 рабочий, 2 отдыха). И вводим ещё один день (пускай будет i, тоже от 1 до 365). Так надо узнать i - выходной или рабочий? Циклы понятно, как применить при цикличности, а при не стандартных повторениях? есть ли для этого методы? Если есть, то прошу подсказать. А то сам придумал себе задачку и уже 2ой день она покоя мне не дает. Ниже, что удалось придумать... но не работает))) public static boolean positiveWeek(int day, int i) { boolean n = false; day = day + 1; // здесь учитываются первые 2 рабочих дня и false - значит рабочий if (day >= i) return n else{ for (int a = 1; a == i; a++){ // это я цикл сделал (где значения a - от балды взял) :) n = true; day = day + 3; // идут 3 выходных; if (day >= i) break; day = day + 1; // затем 1 рабочий n = false; if (day >= i) break; day = day + 2; // 2 выходных n = true; if (day >= i) break; day = day + 2; // 2 рабочих n = false; if (day >= i) break; } return n; } Вроде логически правильно всё расписал, но всегда возвращает n = false (в самом начале кода). Меняю на true, возвращает true. Также очень буду благодарен, другим отличающимся от моего решениям. Для саморазвития. Спасибо.