Уисполнителя две команды,которым присвоены номера: 1.вычти 1. 2.умножь на 3 первая из них уменьшает число на экране на 1,а вторая увел его в три раза. запишитк пооядок команд в поограмме получения из числа 3 числа 16 ,содержащей не более 5 команд,указывая лишь номера команд.
var
i,j,k:Integer;
Chislo : Integer;
begin
Memo1.Clear;
for i := 0 to 31 do
begin
Chislo := 3;
for j := 0 to 4 do
begin
if ((i and Trunc(IntPower(2,j)))=0) then
Dec(Chislo)
else
Chislo := 3*Chislo;
if (Chislo=16) then
begin
Memo1.Lines.Append('УРА - Нашли');
for k := 0 to j do
if ((i and Trunc(IntPower(2,k)))=0) then
Memo1.Lines.Append('1')
else
Memo1.Lines.Append('2');
Memo1.Lines.Append('');
end;
end;
end;
end;