uses crt;
type arr=array[1..1000]of integer;
var N, K, C: integer;
a : arr;
function sum(n:integer):integer;
var s:integer;
begin
s:=0;
while n<>0 do
s:=s+n mod 10;
n:=n div 10;
end;
sum:=s;
procedure fill(var a:arr, C, N, K: integer);
var i:integer;
c:=0;
for i:=1 to N do if sum(i)=k then
inc(c);
a[c]:=i;
clrscr;
write('N K-> ');
readln(N, K);
fill(a, c, N, K);
for i:=1 to с do write(a[i],' ');
readln;
end.
Объяснение:
uses crt;
type arr=array[1..1000]of integer;
var N, K, C: integer;
a : arr;
function sum(n:integer):integer;
var s:integer;
begin
s:=0;
while n<>0 do
begin
s:=s+n mod 10;
n:=n div 10;
end;
sum:=s;
end;
procedure fill(var a:arr, C, N, K: integer);
var i:integer;
begin
c:=0;
for i:=1 to N do if sum(i)=k then
begin
inc(c);
a[c]:=i;
end;
end;
begin
clrscr;
write('N K-> ');
readln(N, K);
fill(a, c, N, K);
for i:=1 to с do write(a[i],' ');
readln;
end.
Объяснение: