Листинг программы
program z50;
{ Дан массив А(N) и число М. Найти такое множество элементов
A(i1),A(i2),...A(ik) (1<=i1<...<ik<=N), что A(i1)+A(i2)+...+A(ik)=M
Предполагается, что такое множество заведамо существует. }
uses crt;
var i,j,s,m,n:longint;
a:array[1..30]of integer;
begin
clrscr;
write('m=');readln(m);
write('n=');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
for i:=1 to n do
begin
s:=s+a[i];
if s=m then for j:=1 to i do write(' ',a[j]);
end;
readln;
end.