Ответ:
// PascalABC.NET
begin
var n := ReadInteger;
var a := (1000..9999).Where(c -> c
.ToString
.AsEnumerable
.Sum(c -> integer.Parse(c)) = n
).Println;
Println('Количество: ', a.Count);
Println('Четных: ', a.Count(c -> c.IsEven));
Println('Нечётных: ', a.Count(c -> c.IsOdd));
end.
Пример: