Чётные и нечётные циферки

  • 10
  • Недоступна
Давайте определим, сколько четных цифр, а сколько нечетных в числе, введенном с клавиатуры. Если число делится без остатка на 2 (т. е. остаток равен нулю), значит оно четное. Увеличиваем на 1 счетчик четных цифр (статическая переменная even). Иначе число нечетное, увеличиваем счетчик нечетных цифр (статическая переменная odd).
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (631)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Askar Bisenbayev
12 уровень
18 апреля, 17:38
А при чем тут деление именноа на 10?
Ihor Lahoda
8 уровень, Одесса
11 апреля, 12:16
Решение через String и метод arg.charAt(). при этом логику проверяет и без дополнительной инициализации переменной int
Андрей
9 уровень, Минск
6 апреля, 09:55
Изначально мучался, чтобы получить количество цифр в введенном числе и далее цикл for, но потом понял, что можно не заморачиваться и сократил до вот этого: BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int x = Integer.parseInt(reader.readLine()); while (x != 0){ if (x%2 == 0){ even+=1; x/=10; } else { odd+=1; x/=10; } } System.out.println("Even: "+ even + " Odd: " + odd);
Андрей
6 уровень, Москва
6 апреля, 15:47
x/=10 можно не писать 2 раза, достаточно один раз в цикле прописать
while (x != 0) {
    if (x % 2 == 0) {
        even++;
    } else {
        odd++;
    }
    x /= 10;
}
MartineZ
8 уровень
15 апреля, 20:10
Парни, шикарное решение. А я заморачивался через вытаскивание посимвольно из строки
Ivan Tregubov
6 уровень
16 апреля, 14:46
Чуваки вы определённо с математикой на ты) Крутое решение, я его понял только с калькулятором👍
Сергей Коровин
7 уровень
4 апреля, 08:33
у меня пришло время в обучении , когда смотрю комментарии и решения и все равно не понимаю ничего!!! прям пугает суперски
Dim
11 уровень, Житомир
18 марта, 10:35
сделал через стринг и его метод char.At, который берет отдельный символ 🙃
Павел
8 уровень, Санкт-Петербург
11 марта, 22:02
Итак найдено на просторах ДжаваРаша от человека с ником Evlv (по его примеру напишу псевдокодом, дабы было больше практики): младшаяЦифра = число %10. если младшаяЦифра делится на два без остатка -- счетчикНечет +1, иначе счетчикЧет +1. число = число / 10 . замыкаем в цикл, пока число не станет 0. И не забываем, что текст вывода должен соответствовать заданию.
Павел
8 уровень, Санкт-Петербург
11 марта, 22:04
Совсем забыл проверять входное число не обязательно. Валидатор не ругается на это.
Евгений Кудрин Android Developer
4 марта, 04:21
один иф элс внутри вайла у меня 27 строк
Тимур Акматов
10 уровень
26 февраля, 13:46
оказывается, решение гениально простое! ))) оно основывается на двух ключевых моментах: 1) у любого целого числа больше 9 , все старшие разряды кроме последнего младшего всегда четны 2) в java число в типе int имеет одно особенное свойство
Andrey
7 уровень, Уфа
26 февраля, 08:18
В требованиях к задаче ошибки в слове во веденном. Поймите правильно я не привязываюсь, просто хочу чтобы хороший сайт стал еще лучше.
Alex Support в JavaRushModerator
28 февраля, 15:19
Спасибо. Исправим.
Тарас Шкарапут
13 уровень, Ульяновск
22 марта, 17:47
Обещанного три года ждут))
Егор Комаров
7 уровень
22 февраля, 10:46
Вопрос, который не дает мне покоя! HELP! Почему объявленные в классе переменные: public static int even; public static int odd; не проинициализированы в самом начале и почему программа на это не ругается?
Андрей Смирнов Java Developer в Другая компания
24 февраля, 11:38
Тоже заинтересовался, и нашел: "Переменные класса не обязательно инициализировать, они автоматически устанавливаются в значения по умолчанию. Если примитивы (например, int, short...) то = 0."
Mister Khokhma
20 уровень, Кемерово
5 марта, 18:47
а идея ругается(
Андрей Смирнов Java Developer в Другая компания
11 марта, 14:58
Apache-NetBeans-11.2 - не ругается. С идеей не сложилось у меня пока.
Dim
11 уровень, Житомир
18 марта, 10:36
у меня не ругается почему-то