package com.javarush.task.task06.task0606;
import java.io.*;
/*
Чётные и нечётные циферки
*/
public class Solution {
public static int even;
public static int odd;
public static void main(String[] args) throws IOException {
InputStream inputStream = System.in;
Reader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String vAge = bufferedReader.readLine();
int a = Integer.parseInt(vAge);
int b = a/10000;
if (b%2==0){even++;}
else {odd++;}
int c =a-b*10000;
int v=c/1000;
if (v%2==0){even++;}
else {odd++;}
int j = a-b*10000-v*1000;
int u = j/100;
if (u%2==0){even++;}
else {odd++;}
int z=a-b*10000-v*1000-u*100;
int k=z/10;
if (k%2==0){even++;}
else {odd++;}
int o = z%10;
if (o%2==0){even++;}
else {odd++;}
System.out.println("Even: "+ even +" Odd: "+odd);
}
}
https://delux3000.ru
13 уровень
Считает правильно но не проходит валидацию.
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
kto_toExpert
15 августа 2019, 21:18решение
Алгоритм разбора числа на цифры такой:
Если вы знаете что такое остаток от деления, то принцип работы объяснять нет смысла. Если нет, то можете спросить у знающих, тут же, или загуглить.
Тут работает и без b = a % 10, т.к. признак деления на два сводится к тому, что: если последняя цифра делится на 2, то и само число делится на два. Если бы эта задача была на подсчёт цифр, которые делятся, например, на 3, то такой бы метод не сработал и пришлось бы добавлять строчку b = a % 10; +2
Kroak Senior Vampire в Hellsing corp.
15 августа 2019, 21:10полезный
Я так понимаю, что нужно посчитать кол-во чётных и нечётных цифр в числе? Если так, то всё можно решить одним циклом :
Не проверял работает ли, но логику уловить можно.
В твоём решении какая-то дичь: зачем делить число на 10к? Если у меня будет число меньше 10к, то автоматом будет сделано even++, что не верно. Что Justinian и показал. +1
Justinian Judge в Mega City One Master
15 августа 2019, 20:43
Я ввел число
и получил результат:
Ни одного верного срабатывания 0