Не знаю можно ли считать ноль, как "мінімальне додатнє", потому не включала
Объяснение:
#include<iostream>
using namespace std;
int main()
{
int l[15];
double min=0,max=0;
for(int i=0;i<15;i++)
{
cin>>l[i];
if(l[i]>0&&l[i]<min&&min!=0)
min=l[i];
if(min==0&&l[i]>0)
min=l[i];
if(l[i]<0&&l[i]>max&&max!=0)
max=l[i];
if(max==0&&l[i]<0)
max=l[i];
}
sort(l,l+15);
cout<<min<<" "<<max<<endl;
cout<<min/max<<endl;
for(int i=14;i>=0;i--)
cout<<l[i]<<" ";
return 0;
}
Монетка при падении подает на одну из двух сторон. Попробуем обозначить одну из сторон 0, другую 1. Теперь если записать историю бросков такими символами мы получим сразу кодировку в двоичном коде. Например:
0111010101000100
При том каждый байт содержит максимальное количество информации, так-как в них нет закономерностей. По этому их нельзя сжать сильнее. Из этого следует что этот объем занимает чистая информация, как написано в условии задачи.
Итак, 1 бросок записывается в одном бите. Значит 16 бит нужно для сохранения истории бросков. Переведём биты в байты: 16 бит = 2 байта
ответ: 2 байта