Монетка при падении подает на одну из двух сторон. Попробуем обозначить одну из сторон 0, другую 1. Теперь если записать историю бросков такими символами мы получим сразу кодировку в двоичном коде. Например:
0111010101000100
При том каждый байт содержит максимальное количество информации, так-как в них нет закономерностей. По этому их нельзя сжать сильнее. Из этого следует что этот объем занимает чистая информация, как написано в условии задачи.
Итак, 1 бросок записывается в одном бите. Значит 16 бит нужно для сохранения истории бросков. Переведём биты в байты: 16 бит = 2 байта
var
s: string;
i, count: integer;
begin
writeln('Vvedite stroky: ');
readln(s);
for i := 1 to length(s) - 2 do
if copy(s, i, 3) = 'abc' then
count := count + 1;
writeln('Kol-vo: ', count);
end.
2.
var
s1, s2: string;
i, len1, len2: integer;
begin
writeln('Vvedite stroky 1: ');
readln(s1);
writeln('Vvedite stroky 2: ');
readln(s2);
len1 := length(s1);
len2 := length(s2);
if len1 > len2 then writeln('1 stroka dlinnee')
else if len1 < len2 then writeln('2 stroka dlinnee')
else writeln('dlini strok ravnie')
end.
3.
var
s1, s2, s3: string;
begin
writeln('Vvedite stroky 1: ');
readln(s1);
writeln('Vvedite stroky 2: ');
readln(s2);
s3 := s1[1] + s1[2] + s2[1] + s2[2];
writeln('Novaja stroka: ', s3);
end.
Монетка при падении подает на одну из двух сторон. Попробуем обозначить одну из сторон 0, другую 1. Теперь если записать историю бросков такими символами мы получим сразу кодировку в двоичном коде. Например:
0111010101000100
При том каждый байт содержит максимальное количество информации, так-как в них нет закономерностей. По этому их нельзя сжать сильнее. Из этого следует что этот объем занимает чистая информация, как написано в условии задачи.
Итак, 1 бросок записывается в одном бите. Значит 16 бит нужно для сохранения истории бросков. Переведём биты в байты: 16 бит = 2 байта
ответ: 2 байта