В кратце: я предполагаю, что количество ящиков по 1шт (q,w,e,r). Далее я пробегаюсь по всем возможных вариантам, каким образом можно получить из q,w,e,r X кг
procedure VoTeRaz(f:text;n:integer;s:string); begin writeln('Было:'); assign(f,'Input.txt'); reset(f); while not(Eof(f)) do begin read(f,n); write(n,' '); if n>7 then n:=n*(n div 7); s:=s+inttostr(n)+' '; end; delete(s,length(s),1); close(f); assign(f,'Input.txt'); rewrite(f); write(f,s); close(f); writeln; writeln('Стало:'); write(s); writeln; end;
function VoTeDva(f:text;n:integer;s:string):integer; begin writeln('Было:'); assign(f,'Input.txt'); reset(f); while not(Eof(f)) do begin read(f,n); write(n,' '); if n>7 then n:=n*(n div 7); s:=s+inttostr(n)+' '; end; delete(s,length(s),1); close(f); assign(f,'Input.txt'); rewrite(f); write(f,s); close(f); writeln; writeln('Стало:'); write(s); writeln; VoTeDva:=0; end;
X=30
q=1
w=2
e=3
r=4
list=[q,w,e,r]
for i in list:
if i==X and i==q:
print(f'Нужен ящик q')
if i==X and i==w:
print(f'Нужен ящик w')
if i==X and i==e:
print(f'Нужен ящик e')
if i==X and i==r:
print(f'Нужен ящик r')
if e+r==X:
print(f'Нужны ящики e и r')
if w+r==X:
print(f'Нужны ящики w и r')
if w+e==X:
print(f'Нужны ящики w и e')
if q+r==X:
print(f'Нужны ящики q и r')
if q+e==X:
print(f'Нужны ящики q и e')
if q+w==X:
print(f'Нужны ящики q и w')
if w+e+r==X:
print(f'Нужны ящики w, e и r')
if q+e+r==X:
print(f'Нужны ящики q, e и r')
if q+w+r==X:
print(f'Нужны ящики q, w и r')
if q+w+e==X:
print(f'Нужны ящики q, w и e')
else:
print('Нет таких ящиков')
Объяснение:
В кратце: я предполагаю, что количество ящиков по 1шт (q,w,e,r). Далее я пробегаюсь по всем возможных вариантам, каким образом можно получить из q,w,e,r X кг
Var
f:text;
n:integer;
s:string;
procedure VoTeRaz(f:text;n:integer;s:string);
begin
writeln('Было:');
assign(f,'Input.txt');
reset(f);
while not(Eof(f)) do
begin
read(f,n);
write(n,' ');
if n>7 then n:=n*(n div 7);
s:=s+inttostr(n)+' ';
end;
delete(s,length(s),1);
close(f);
assign(f,'Input.txt');
rewrite(f);
write(f,s);
close(f);
writeln;
writeln('Стало:');
write(s);
writeln;
end;
function VoTeDva(f:text;n:integer;s:string):integer;
begin
writeln('Было:');
assign(f,'Input.txt');
reset(f);
while not(Eof(f)) do
begin
read(f,n);
write(n,' ');
if n>7 then n:=n*(n div 7);
s:=s+inttostr(n)+' ';
end;
delete(s,length(s),1);
close(f);
assign(f,'Input.txt');
rewrite(f);
write(f,s);
close(f);
writeln;
writeln('Стало:');
write(s);
writeln;
VoTeDva:=0;
end;
begin
VoTeRaz(f,n,s);
VoTeDva(f,n,s);
end.
Начальное содержимое Input.txt:
81 5 6
Пример работы программы:
Было:
81 5 6
Стало:
891 5 6
Было:
891 5 6
Стало:
113157 5 6