Написать программу подсчитывающую кол-во чётных и нечётных цифр в числе. Только **...

0 голосов
45 просмотров

Написать программу подсчитывающую кол-во чётных и нечётных цифр в числе. Только на Паскале.


Информатика (22 баллов) | 45 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

PascalABC.NET 3.4.2, сборка 1837 от 11.10.2018

begin

 var s := ReadInteger.ToString;

 var Четных := s.Where(c -> '02468'.Contains(c)).Count;

 var Нечетных := s.Where(c -> '13579'.Contains(c)).Count;

 Println('Четных', Четных, 'нечетных', Нечетных);

end.


image
(654k баллов)
0

Хотя скорее всего ваш вариант быстрее

0

Вообще преобразование числа <-> строки по признанию разработчиков довольно тормозные.

0

Поэтому если уж на строки ушел от чисел, лучше назад не возвращаться.

0

Тут, возможно, надо было попытаться тернарным оператором разобрать в кортеж за один Select, но не хотелось долго думать))

0

begin var s := ReadInteger.ToString; var e:=s.Where(c -> c in '02468').Count; Println($'Четных - {e}{NewLine}Нечетных - {s.Length-e}');end.

0

Всё-таки по-своему))

0

Только на отрицательном числе будет врать))

0

Почему? знак "-"?

0

Можно сразу сделать абсолютное число и проблем не будет

0

Abs - можно. Знак "-" не отберется в четные и при вычитании из общего количества увеличит нечетные на 1.