PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018
Внимание! Если программа не работает, обновите версию!
begin
var c := ReadlnString;
if c.Any(t -> not (t in ['0'..'9'])) then
begin
Print('Ошибка ввода');
exit
end;
var a := c.Select(t -> t.ToDigit).ToArray;
Writeln('a) ', c.Where(t -> t = '9').Count);
Writeln('б) ', a.Where(t -> t = a[0]).Count);
Writeln('в) ', a.Where(t -> t.IsOdd).Count);
Writeln('г) ', a.Where(t -> t < 3).Sum);
Writeln('д) ', a.Where(t -> t.IsEven and (t > 4))
.Aggregate(1, (p, q)-> p * q));
Writeln('е) ', a.Where(t -> (t = 2) or (t = 3)).Count);
end.
Пример
1764963253120
a) 1
б) 2
в) 7
г) 6
д) 36
е) 4
Примечание: количество цифр в числе практически не ограничено, контроль на ввод "не-цифр" имеется.