Число бит информации определяется как log 2 (N/N') где N - число возможных вариантов ДО получения информации, а N' - после. Надо посчитать сколько существует комбинаций из 18 подбрасываний всего
(2^18 = 262144) и сколько таких, где 3 орла идут подряд
#include <iostream>
using namespace std;
void max(float a[])
{
for(int i2 = 0; i2<3; ++i2) // сортируем массив
{
for(int i = 0; i<2; ++i)
{
if(a[i]>a[i+1])
{
int temp1, temp2;
temp2=a[i];
temp1=a[i+1];
a[i]=temp1;
a[i+1]=temp2;
}
}
}
cout << "Max: " << a[2]; // выводим последний и наибольший элемент
}
int main()
{
cout << "Enter three numbers. ";
float a[3]; // float для поддержки дробных чисел
for(int i = 0; i<3; ++i)
{
cout << endl << "Number #" << i << ": ";
cin >> a[i];
}
max(a);
}
Число бит информации определяется как log 2 (N/N') где N - число возможных вариантов ДО получения информации, а N' - после.
Надо посчитать сколько существует комбинаций из 18 подбрасываний всего
(2^18 = 262144) и сколько таких, где 3 орла идут подряд
(таких 16 -
111000000000000000,
011100000000000000,
001110000000000000,
000111000000000000,
000011100000000000,
000001110000000000,
000000111000000000,
000000011100000000,
000000001110000000,
000000000111000000,
000000000011100000,
000000000001110000,
000000000000111000,
000000000000011100,
000000000000001110,
000000000000000111
Имеем log 2 (262144 / 16) = log 2 (2^18 / 2^4) = log 2 (2^14) = 14 бит
ответ 14 бит