VAR
i, buf, M, B: Word;
count, sum: Word; {число чисел нужно знать для вывода - есть ли вообще}
BEGIN
Write('Введите число, которому должна быть равна сумма цифр: ');
ReadLn(M);
if (M < 1) or (M > 27) then begin
WriteLn('Недпустимое значение M: ',M);
Halt(1);
end;
Write('Введите число, на которое должно делится: '); ReadLn(B);
if (B > 999) then begin
WriteLn('Недпустимое значение B: ',B);
Halt(1);
end;
count := 0;
for i:=100 to 999 do begin
sum:=0;
buf := i;
while buf <> 0 do begin
sum := sum + buf mod 10;
buf := buf div 10
end;
if (sum = M) and ((i mod B) = 0) then begin
count := count + 1;
write(i:8)
end;
end;
if count = 0 then writeLn('Таких чисел нет') else WriteLn
END.