Задача сформулирована не корректно, т.к. недостаточно информации о формировании сообщения.
В случае если мы передаём значение 15 то сообщение будет размером 1<span>111 бит.</span>
В худшем случае минимальное сообщение будет иметь размерность 100<span>000 бит
В лучшем случае сообщение может быть представлено как поток 2битных сообщений. Максимальная длина потока будет равна 32 сообщениям. В случае оптимистичного прогноза успех может произойти на первом сообщении. Таким образом мы считаем номер в потоке и значение бита. Если значение == 1 то в этом вагоне находятся друзья.
</span>
Ответ:
var
a: array [1..3] of Integer;
i, imin: Integer;
begin
for i := Low (a) to High (a) do begin
Write (i, ' число: ');
ReadLn (a [i]);
end;
imin := 0;
for i := Low (a) to High (a) do begin
if a [i] mod 2 = 0 then
if imin = 0 then
imin := i
else if a [i] < a [imin] then
imin := i;
end;
if imin <> 0 then
WriteLn ('Наименьшее четное = ', a [imin])
else
WriteLn ('Четных чисел нет.');
ReadLn;
end.
Var x,y,z:integer;
begin
x:=5; y:=-6
if (x>y) then z:=x+y else z:=y-x;
Writeln(Z);
end.
Var n,p,k,i,j:integer; f:boolean;
begin
write('n = ');
readln(n);
p:=2;
for i:=2 to n do
begin
f:=false;
while not f do
begin
p:=p+1;
k:=0;
for j:=2 to round(sqrt(p)) do
if p mod j = 0 then k:=k+1;
f:=k=0;
end;
end;
writeln(p);
end.
Пример:
n = 25
97