Срочно ...пожалуйста помогите мне решить задачу...
из заданных 9 чисел нужно найти 7 из них сумма которых равна 100
Спасибо за ранее...
var
ar : array[1..9] of integer;
i, j, k, sum : integer;
begin
sum := 0;
for i := 1 to 9 do
begin
readln( ar[i] );
sum := sum + ar[i];
end;
for i := 1 to 9 do
for j := i+1 to 9 do
if sum -(ar[i] + ar[j]) = 100 then
for k := 1 to 9 do
writeln( аr[k] );
end.
CONST n=9;
VAR
count: array [1..n] of word;
s: longInt;
i, j, k: byte;
flag: boolean;
BEGIN
{вводим 9 чисел и считаем их итоговую сумму}
s:=0;
for i:=1 to n do
begin
write (i,' ->');
readLn (count[i]);
s:=s+count[i]
end;
flag:=false;
i:=0;
{если итоговая сумма оказалась меньше 100, значит выходим}
if s<100
then flag:=true;
{вычитаем из итоговой суммы 2 других элемента, таким образом по завершению в i и j номера лишних элементов}
while (not flag) and (i<=n) do
begin
inc (i);
j:=i;
while (not flag) and (j<=n) do
begin
inc (j);
if (s-count[i]-count[j])=100
then flag:=true
end
end;
if (i=0) or (not flag)
then writeLn ('no variants')
else
begin
for k:=1 to n do
if (k<>i) and (k<>j)
then write (count[k], ' ');
writeLn (' obrazuiyt symmy 100')
end;
END.
{если итоговая сумма оказалась меньше 100, значит выходим}
if s<100
if (i=0) or (not flag)
const
n = 9;
type
TArray = array [1..n] of Integer;
function Sum(const arr: TArray; const a, b: Integer): Integer;
var
i, s: Integer;
begin
i := 1; s := 0;
while (i <= n) and (s <= 100) do begin
if (i <> a) and (i <> b) then inc(s, arr[i]);
inc(i);
end;
Sum := s;
end;
var
x: TArray = (25, 10, 25, 29, 1, 98, 5, 5, 56);
a, b: Integer;
flag: Boolean;
begin
a := 1; flag := false;
while (a <= n - 1) and not(flag) do begin
b := a + 1;
while (b <= n) and not(flag) do begin
flag := Sum(x, a, b) = 100;
if not(flag) then inc(b);
end;
if not(flag) then inc(a);
end;
if a <= n - 1 then writeln('Все числа, кроме ', x[a], ' и ', x[b])
else writeln('Решения нет');
end.