JavaRush /Курсы /Java Core /Бонусное задание | 8 лекция | 4 уровень

Бонусное задание | 8 лекция | 4 уровень

Java Core
4 уровень , 8 лекция
Открыта

— Здорово, боец!

— Здравия желаю, товарищ капитан!

— У меня для тебя шикарная новость. Вот тебе задания для закрепления полученных навыков. Выполняй их каждый день, и твои навыки будут расти с неимоверной скоростью. Они специально разработаны для выполнения их в Intellij IDEA.

8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Мосты
Мосты
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Дегустация вин
Дегустация вин
16
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
User, Loser, Coder and Proger
User, Loser, Coder and Proger
4
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Реализация метода printMainInfo
Реализация метода printMainInfo
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Computer
Computer
16
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
MovieFactory
MovieFactory
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Клининговый центр
Клининговый центр
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Стой, кто плывет?
Стой, кто плывет?
16
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Валюты
Валюты
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Исправь 4 ошибки
Исправь 4 ошибки

— Те задания были для духов. Для дедушек я добавил бонусные задания повышенной сложности. Только для старослужащих.

8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Нашествие исключений
Нашествие исключений
16
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
НОД
НОД
8
Задача
Java Core, 4 уровень, 8 лекция
Недоступна
Пишем Singleton
Пишем Singleton
Комментарии (693)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
FosTeR Уровень 28
19 февраля 2026
Про Евклида узнал позже, так что я через цикл😁 public class Solution { public static void main(String[] args) throws Exception { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int a = Integer.parseInt(bf.readLine()); int b = Integer.parseInt(bf.readLine()); int result = 0; for (int i = Math.max(a, b); i >= 1; i--) { if (a % i == 0 && b % i == 0) { result = i; break; } } System.out.println(result); } } Задумка моя, но окончательная реализация все таки с ИИ, тк я там намудрил конретно с лишними переменными и условиями, что сам запутался. По поводу принял бы или нет не знаю, тк задачу сдал через BigInteger.valueOf(a).gcd(BigInteger.valueOf(b)).intValue()
Zhenya116 Уровень 32
17 октября 2025
в задаче про вина дизлайк за "Новый Год" и "День Рождения", с большой буквы оба слова: минус попытка... чо по грамматике...
Vladimir Уровень 15
23 октября 2025
тоже на этом попался))) тут дело не совсем в грамматике - а читать ТЗ правильно надо видимо)))
murad Уровень 30
11 сентября 2025
11.09.2025
invoker main Уровень 42
28 сентября 2025
Сдался?
23 октября 2025
похоже на то
murad Уровень 30
13 января 2026
нет
nastya_zhadan Уровень 66
4 сентября 2025
Ну как, все довольны количеством задачек? 🙃
Anonymous #3585174 Уровень 33
13 августа 2025
Like
R1no933 Уровень 33
3 июня 2025
Я бы задачу на НОД решал так

public class Solution {
    public static void main(String[] args) throws Exception {
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
            int a = Integer.parseInt(reader.readLine());
            int b = Integer.parseInt(reader.readLine());

            while (a != 0 && b != 0) {
                if (a > b) a = a % b;
                else b = b % a;
            }

            System.out.println(a + b);
        }
    }
}
Vyacheslav Уровень 30 Expert
10 мая 2025
Задачу на нахождение общего делителя можно решить методом Евклида:

// a и b - входные данные
public static int gcd(int a, int b) {
        while (b != 0) {
            int temp = b;
            b = a % b;
            a = temp;
        }
        return a;
    }
тогда сложность алгоритма будет O(log n)
Dirk Gently Уровень 1
11 мая 2025
Только сначала нужно выяснить, какое из чисел a и b больше. Иначе будет ошибка при попытке вычислить остаток от деления 24 на 42, например. Мне евклидов метод больше нравится, но записать так же коротко, как правильное решение, не получится увы.
Илья Уровень 30
24 мая 2025
Не будет никакой ошибки. Остаток от деления 24 на 42 = 24. 42 ноль раз вмещается в число 24, соответственно, остаток 24. Остаток от деления меньшего числа на большее - это просто само меньшее число.
Nagnetatel Уровень 29
30 мая 2025
Тоже решил методом Евклида, только что бы не проверять большее или меньшее число, создал 2 доп переменные

public class Solution {
    public static void main(String[] args) throws Exception {        
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int big = Math.max(a, b);
        int small = Math.min(a, b);        
        int NOD = small;        
        while (big % small != 0) {
                NOD = big % small;
                big = small;
                small = NOD;
            }        
        System.out.println(NOD);
    }    
}
Олег Сычев Уровень 15
8 мая 2025
08.05.2025 - завершил 24-ый уровень =))
Евгений Уровень 37
25 апреля 2025
4 ноября 2024 - 1 уровень 10 ноября 2024 - 4 уровень 22 ноября 2024 - 10 уровень 8 января 2025 - 12 уровень 28 января - 14 уровень 16 февраля - 15 уровень 19 февраля -16 уровень 4 марта -17 уровень 20 марта -18 уровень 25 марта - 19 уровень 30 марта - 20 уровень 31 марта -21 уровень 1 апреля -22 уровень 5 апреля -23 уровень 26 апреля - 25 уровень 25 мая - 27 уровень 8 июня - 28 уровень 27 июля - 32 уровень Задачки огонь! Кайф настоящий!
Олег Сычев Уровень 15
8 мая 2025
Почему у вас снова 1 уровень? оО
Евгений Уровень 37
10 мая 2025
видимо открыл другой курс и отображался уровень нового курса)))))
Vitalii Shevchenko Уровень 1
10 апреля 2025
loop: while (true) { key = reader.readLine(); switch (key) { case "user": doWork(new Person.User()); break; case "loser": doWork(new Person.Loser()); break; case "coder": doWork(new Person.Coder()); break; case "proger": doWork(new Person.Proger()); break; default: break loop; } } Можливо, комусь буде корисно. Замість створення булінової змінної, яка потрібна в ролі прапорця, можна скористаться комбінацією брейка + мітка