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