Даны натуральные числа а1,…,а5.Предположим,что имеются 5 гирь весом а1,…,а5.Обозначим через Cк число способов,которыми можно составить вес л,то есть Cк-число решений уравнения а1Х1+…+а5Х5=к, где Хi может принимать значение 0 и 1(i= 1,…,5).Получить С0,…,С5.
Код:
program Project5;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
C:array of integer;
{ a: array[1..5] of integer; }
Type IndexType = 1..5;
Mas = array [IndexType] of integer;
var dim:1..5;
a:Mas;
sum,m: real;
N,i,v,g,j,l,t,r, k: integer;
begin
try
sum:=0;
k:=0;
begin
repeat
writeln('vvodim sami (1) ili random (2) ?');
readln(N)
until (N<>1) or (N<>2);
if N=1
then for i:= 1 to 5 do
begin
write(' vvedite A[ ' , i , ' ] = ' );
readln(a[i])
end
else begin randomize;
for i:= 1 to 5 do
a[i]:= - 30 + Random(71);
end;
writeln;
writeln('otv a');
for i:=1 to 5 do
write(a[i]:5,' ');
writeln;
end;
k:=0;
k:=k+a[i];
for v:=0 to k do C[i]:=0;
for v := 0 to 1 do
for g := 0 to 1 do
for l := 0 to 1 do
for t := 0 to 1 do
for r := 0 to 1 do
begin
sum:=a[1]*v+a[2]*g+a[3]*l+a[4]*t+a[5]*r;
if sum = k
then writeln (' sdf')
else writeln (' c ')
end;
for v :=0 to k do
writeln('C',i,' = ',C[i]);
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
readln;
end.
MAD: пользуемся тегами, или бан обеспечен.
мне нужно, что бы компьютер сам подставлял и 1 и 0 и считал сколько способов надо что бы получить вес. то есть вводим л и надо, что бы он сам подобрал решения и вывел