Монетка при падении подает на одну из двух сторон. Попробуем обозначить одну из сторон 0, другую 1. Теперь если записать историю бросков такими символами мы получим сразу кодировку в двоичном коде. Например:
0111010101000100
При том каждый байт содержит максимальное количество информации, так-как в них нет закономерностей. По этому их нельзя сжать сильнее. Из этого следует что этот объем занимает чистая информация, как написано в условии задачи.
Итак, 1 бросок записывается в одном бите. Значит 16 бит нужно для сохранения истории бросков. Переведём биты в байты: 16 бит = 2 байта
ответ: 2 байта
Поделитесь своими знаниями, ответьте на вопрос:
Пoмoгите с написание прoгрaммы CИ (С комментариями
Вот тебе в паскале
program ryad_chisel;
var N, t:integer;
begin
read(N);
t:=(N*(N+1))div 2;
if t mod 2 =1 then writeln('IMPOSSIBLE')
else begin
if N mod 2 =0 then begin
t:=N div 4;
repeat
write('+');
t:=t-1;
until t=0;
t:=N div 2;
repeat
write('-');
t:=t-1;
until t=0;
t:=N div 4;
repeat
write('+');
t:=t-1;
until t=0;
end
else begin
t:=((N+1) div 4)-1;
repeat
write('+');
t:=t-1;
until t=0;
t:=((N-1) div 2)+1;
repeat
write('-');
t:=t-1;
until t=0;
t:=(N+1) div 4;
repeat
write('+');
t:=t-1;
until t=0;
end
end
end.