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

  • 10
  • Недоступна
Давайте определим, сколько четных цифр, а сколько нечетных в числе, введенном с клавиатуры. Если число делится без остатка на 2 (т. е. остаток равен нулю), значит оно четное. Увеличиваем на 1 счетчик четных цифр (статическая переменная even). Иначе число нечетное, увеличиваем счетчик нечетных цифр (статическая переменная odd).
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (414)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Тимофей8 уровень, Москва
16 февраля, 23:53
решил через length() и charAt() 1) узнаем количество символов с помощью length() 2) создаем цикл от 0 до length() 3) с помощью charAt() вытягиваем посимвольно строку 4)Integer.parseInt преобразуем символы в цифры 5)в новом цикле делим каждый символ на 2 без остатка
Дмитрий кул Хацкер8 уровень, Минск
17 февраля, 16:15
4)Integer.parseInt преобразуем символы в цифры я не смог понят почему у меня выдает ошибку на этом пункте. В итоге сделал таким образом char temp = s.charAt(i); int a = Character.getNumericValue(temp);
Дмитрий7 уровень
16 февраля, 20:14
Решил через while. Пока а не равно нулю В первом проходе получаем остаток от деления на 10. Проверяем остаток деления на два - если ноль то увеличиваем even если нет то odd. Уменьшаем a на один разряд введеное число.
Dmytro12 уровень, Икстлан
15 февраля, 14:04
for(int i=1;i<=n; i=i*10 ){ s=(n/i)%2; if (s==0) even++; else odd++;}
игорь13 уровень, Минск
10 февраля, 18:06
Решил через цикл деления на 10. Может не модно, но здесь лучше всего подходит)
Bio BoJlk9 уровень, Москва
25 января, 14:31
решил через substring.
denis32 уровень
23 января, 17:55
int x = string.charAt(i) - '0'; цифра из строки if ((x & 1) == 0) even++; проверка на четность
Сергей Ухарский19 уровень, Харьков
20 января, 10:57
\\с использованием метода split(); String[] array = rr.readLine().split(""); for(int i = 0; i < array.length; i++) { int a = Integer.parseInt(array[i]); if ((a!=0) && (a%2==0)) even++; else if ((a!=0) && (a%2!=0)) odd++;
Estynor13 уровень, Москва
23 января, 08:46
Зачем второй if? Если цифра не является четной, то у нее не остается вариантов как быть нечетной.
Сергей Ухарский19 уровень, Харьков
23 января, 11:48
второй if нужен, чтобы ноли отсеять, но проверка на четность лишняя, согласен. upd: Хотя если 0 четное, то одного условия достаточно, это просто я не хочу его таковым признавать ))
Estynor13 уровень, Москва
23 января, 12:49
Что это за религия, не позволяющая отнести 0 к четным? И почему именно 0? Мне вот с детства не нравилось число 7 (таблица умножения на 7 тяжело училась), но это не повод перестать считать 7 нечетным.. Хотя мне то все равно, вас просто не пропустит валидатор, наткнувшись на необработанный ноль.
Сергей Ухарский19 уровень, Харьков
23 января, 13:50
это не религия, это заблуждение + привычка. Уже всё осознал и встал на путь истины )
Мариам10 уровень, Columbus
11 января, 18:23
мне помогло это: https://javarush.ru/help/34145
Андрей10 уровень, Москва
8 января, 20:47
00000234 - число? Если число, то цикл деления на 10 дает неверный ответ. Нули игнорируются, а они четные. Как быть?
Андрей10 уровень, Москва
8 января, 20:50
По-моему дошло, Целых , начинающихся с нуля не бывает.
titix6 уровень
14 января, 12:53
а просто ноль, бывает
Igor15 уровень
7 января, 13:16
while(num != 0){ int one = num%10; if(one % 2==0) even++; else odd++; num /= 10; }