Написать программу подсчитывающую кол-во чётных и нечётных цифр в числе. Только на Паскале.
begin
var s := ReadInteger.ToString;
var Четных := s.Where(c -> '02468'.Contains(c)).Count;
var Нечетных := s.Where(c -> '13579'.Contains(c)).Count;
Println('Четных', Четных, 'нечетных', Нечетных);
end.
Хотя скорее всего ваш вариант быстрее
Вообще преобразование числа <-> строки по признанию разработчиков довольно тормозные.
Поэтому если уж на строки ушел от чисел, лучше назад не возвращаться.
Тут, возможно, надо было попытаться тернарным оператором разобрать в кортеж за один Select, но не хотелось долго думать))
begin var s := ReadInteger.ToString; var e:=s.Where(c -> c in '02468').Count; Println($'Четных - {e}{NewLine}Нечетных - {s.Length-e}');end.
Всё-таки по-своему))
Только на отрицательном числе будет врать))
Почему? знак "-"?
Можно сразу сделать абсолютное число и проблем не будет
Abs - можно. Знак "-" не отберется в четные и при вычитании из общего количества увеличит нечетные на 1.