Играем в Jолушку

  • 10
  • Недоступна
Игра Jолушка 1.0: распихиваиние чисел по трем спискам. Правила таковы: Jолушка получила список из 20 чисел. Ей нужно проверить, какие из них нацело делятся на 3, какие на 2, а какие — ни на то, ни на другое. Затем ей нужно сохранить их в отдельные списки. Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка. Решаем!
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (565)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Alexander Minaev
Уровень 8, Великие Луки, Россия
24 сентября, 12:09
не понимаю, через if решение не проходит, а через цикл проходит, хотя, по сути, получиться должно было одно и тоже. Что через цикл обрабатывается по индексу и добавляется, что через иф проходит и так же добавляется....
Вилюян
Уровень 9, Якутск, Россия
22 сентября, 04:28
Rest In Piece валидатор, который if не считает . . .
Андрей
Уровень 16, Москва
29 апреля, 11:05
Порядок объявления списков очень важен. Не повторяйте глупых ошибок
Дима
Уровень 13, Новая Каховка, Украина
4 июля, 09:03
Спасибо) А то код работает верно, а валидатор не пропускает. Зашёл, и первый комент всё зарешал))
Alex Sokoloww
Уровень 19, нижний новгород, Россия
13 августа, 08:48
спасибо. поменял порядок объявления переменных и профит.
Alla Morozova
Уровень 12, Рязань
13 апреля, 19:12
мне помогло решить не условие задачи(это путало со списком деления на 2 и на 3), а требования вывода на экран, соответственно условия должны быть такие же: 1 - если делится на 3; 2 - если делится на 2; 3 - если не делится не на 2, не на 3.
Andrey
Уровень 9
4 апреля, 15:32
проверка конечно напрягает: алгоритму принципиально в какой по счету список будут добавлены значения по (x%3) и (x%2).
public static void main(String[] args) throws Exception {
    //напишите тут ваш код
    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> list1 = new ArrayList<>();
    ArrayList<Integer> list2 = new ArrayList<>();
    ArrayList<Integer> list3 = new ArrayList<>();
    ArrayList<Integer> list4 = new ArrayList<>();
    for (int i = 0; i < 20; i++){
        list1.add(Integer.parseInt(sc.nextLine()));
    }
    for (int d : list1){
        if (div3(d)) list2.add(d);
        if (div2(d)) list3.add(d);
        if (div2(d) == false && div3(d) == false) list4.add(d);
    }

    printList(list2);
    printList(list3);
    printList(list4);
}

public static void printList(ArrayList<Integer> list) {
    for (int e : list) {
        System.out.println(e);
    }
}

public static boolean div2 (int d) {
    return d%2==0;
}
public static boolean div3 (int d) {
    return d%3==0;
}
Тарас Шкарапут
Уровень 17, Ульяновск, Россия
27 марта, 20:08
Использовал if без else. Применил в том же цикле где считывал данные с клавиатуры. Итог - 1 цикл, 3 if. (не считая, разумеется, цикла для печати)
Dim
Уровень 16, Житомир, Украина
23 марта, 20:01
вышло такое решение. хотя читал ниже, что через иф елс у людей не принимает. у меня же приняло и работает
Вилюян
Уровень 9, Якутск, Россия
22 сентября, 04:09
Ты читер, никогда бы не подумал что можно сразу после ввода отсортировать
Dmitry
Уровень 18, Киев
17 марта, 19:29
задача не очень то и сложная... единственная причина по которой пришлось пройти со 2го раза: не увидел условия "если %2==0 и %3==0 - должно попадать в оба спичка".... всё, вот и вся шляпа задачи
Алексей Шанаев
Уровень 41, Москва, Россия
10 марта, 08:38
кто бы мог подумать что важен порядок объявления ArrayList<Integer> raw = new ArrayList<Integer>(); ArrayList<Integer> tree = new ArrayList<Integer>(); ArrayList<Integer> two = new ArrayList<Integer>(); ArrayList<Integer> bouth = new ArrayList<Integer>();
Евгений Кудрин Android Developer
19 марта, 05:33
спасибо, добрый человек. 6 попыток
Владоs
Уровень 8, Луганск, Украина
19 марта, 16:13
6? что ж, ну может для кого-то это много
Stepan
Уровень 17, Киев
16 апреля, 12:47
В условии же пишет: Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка. Порядок объявления списков очень важен. 2. Метод printList должен выводить на экран все элементы списка с новой строки.
Николай Григорьев
Уровень 18, Самара, Россия
26 апреля, 07:57
Подскажите из-за чего так? Ведь на работу программы порядок объявления не влияет. Поменял последовательность задачу приняли.
Максим "Evengarr" Меднов
Уровень 18, Москва, Россия
21 февраля, 18:29
с новой строки должны выводится все числа, а не только списки
anufrievdima Работает в ВТБ
2 августа, 14:24
А я думаю, почему у меня неправильно, сначала как и многие напутал порядок заполнения, а потом этот пункт не прошел. Итог 3 попытки, для харда у меня это рекорд))))