Рассматривая 0001 0011 0010 0100 0011 0101 0100 как двоичные числа, запишем в десятичной системе их эквиваленты: 1 3 2 4 3 5 4
Видно, что числа, стоящие через одно, растут на единицу, т.е. на нечетных местах стоят числа ряда 1 2 3 4, а на четных - 3 4 5. Следующее число по порядку восьмое, на четной позиции, следовательно продолжается ряд 3 4 5 и следующее число - это 6. В двоичной системе оно представляется, как 0110.
Ответ:<em><u> 0110</u></em>
? - фальшивая
+ - настоящая
dif - знание о весе фальшивой (больше или меньше)
vs - взвешивание
=> - итог взвешивания
1 откладываем
1) 7? vs 7?
if == => 14+ 7? goto 2)
if <> => 7+ 14? goto
2) 4? vs 4+
if == => 18+ 3? goto 3)
if <> => 10+ 4? goto
3) 2? vs 2+
if == => 20+ 1? goto 4)
if <> => 19+ 2? goto
4) 1? vs 1+
if == => фальшивая та что отложена вначале
if <> => нашли
Скрин с результатом работы программы прикрепил.
var a:array[1..10] of integer;
b:array[1..10] of integer;
c:array[1..10] of integer;
i:integer;
begin
write ('Введите массив 1: ');
for i:=1 to 10 do
read (a[i]);
WRITELN;
write ('Введите массив 2: ');
for i:=1 to 10 do
read (b[i]);
WRITELN;
WRITELN;
write ('Массив 3: ');
for i:=1 to 10 do
begin
if i mod 2 <> 0 then c[i]:=b[i+1];
if i mod 2 = 0 then c[i]:=a[i-1];
write (c[i],' ');
end;
end.
Для кодирования одного символа в кодировке ASCII используется 8 бит, в кодировке Unicode - 16 бит (хотя это зависит от того, что кодируется). Следовательно, искомый объем сообщения = 2^13 * 2 = 2^14