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

  • 10
  • Недоступна
Игра Jолушка 1.0: распихиваиние чисел по трем спискам. Правила таковы: Jолушка получила список из 20 чисел. Ей нужно проверить, какие из них нацело делятся на 3, какие на 2, а какие — ни на то, ни на другое. Затем ей нужно сохранить их в отдельные списки. Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка. Решаем!
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (573)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
SanGali
Уровень 16, Самара, Россия
10 февраля, 12:49
FizzBuzz😁
Эд Кукса
Уровень 18, Лесосибирск, Россия
28 января, 14:40
Я один с первого раза в названии задачу вместо 'л' прочитал 'п'? 😁
Valkery
Уровень 26, Белгород, Россия
18 января, 19:33
не понимаю, почему в list3 не загоняет, хотя в list1 и list2 загоняет валидация пишет в третий список не попадают числа for (int i = 0; i < 20; i++) { int x = Integer.parseInt(reader.readLine()); list.add(x); if (x % 3 == 0) list1.add(x); if (x % 2 == 0) list2.add(x); else list3.add(x);
Эд Кукса
Уровень 18, Лесосибирск, Россия
29 января, 03:43
Потому что в последний список попадают числа, кратные 3. В else не учитывается условие x % 3 == 0
Neonila Kravtcova
Уровень 19, Санкт-Петербург, Россия
14 ноября 2021, 16:46
Прикольно, когда с первого раза не прошёл только первый пункт, а все остальные - прошли! 😂
Alexander Minaev
Уровень 11, Великие Луки, Россия
24 сентября 2021, 12:09
не понимаю, через if решение не проходит, а через цикл проходит, хотя, по сути, получиться должно было одно и тоже. Что через цикл обрабатывается по индексу и добавляется, что через иф проходит и так же добавляется....
Андрей
Уровень 18
25 октября 2021, 19:44
у меня был цикл, а в нем условие и все нормально прошло, единственное это если не проходит "Добавить во второй дополнительный список все числа из главного, которые нацело делятся на 2." то надо обратить внимание на условие, если придет цифра 6 то ее надо и в 3 записать и 2 записать
Вилюян
Уровень 11, Якутск, Россия
22 сентября 2021, 04:28
Rest In Piece валидатор, который if не считает . . .
Андрей Dungeon Master
29 апреля 2021, 11:05
Порядок объявления списков очень важен. Не повторяйте глупых ошибок
Дима
Уровень 16, Новая Каховка, Украина
4 июля 2021, 09:03
Спасибо) А то код работает верно, а валидатор не пропускает. Зашёл, и первый комент всё зарешал))
Alex V. Sokoloww
Уровень 23, нижний новгород, Россия
13 августа 2021, 08:48
спасибо. поменял порядок объявления переменных и профит.
Alla Morozova
Уровень 22, Рязань
13 апреля 2021, 19:12
мне помогло решить не условие задачи(это путало со списком деления на 2 и на 3), а требования вывода на экран, соответственно условия должны быть такие же: 1 - если делится на 3; 2 - если делится на 2; 3 - если не делится не на 2, не на 3.
Andrey
Уровень 9
4 апреля 2021, 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 марта 2021, 20:08
Использовал if без else. Применил в том же цикле где считывал данные с клавиатуры. Итог - 1 цикл, 3 if. (не считая, разумеется, цикла для печати)