в кинозале всего 16×32=512 мест. Сообщение о купленном билете однозначно определяет выбор одного из этих мест. Из уравнения 2 i = 512=29получаем: i=9 бит. Но эту же задачу можно решать иначе. Сообщение о номере ряда несет 4 бита информации, т.к. 24=16. Сообщение о номере места несет 5 бит информации, т.к. 25=32. В целом сообщение про ряд и место несет: 4+5=9 бит информации. Данный пример иллюстрирует выполнение закона активности информации (правило сложения): количество информации в сообщении одновременно о нескольких результатах независимых друг от друга событий равно сумме количеств информации о каждом событии отдельно.
#include <iostream>
using namespace std;
int main (void)
{
int year;
bool init = false;
cout << "Input year [1 <= year <= 2200]: ";
do {
cin >> year;
if ((year < 1) || (year > 2200))
cout << "ERROR" << endl << "Try again: ";
else init = true;
} while (init == false);
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
cout << "LEAP";
else cout << "NORMAL";
return 0;
}
//Так как сдвиги не сохранились при добавлении ответа, прилагаю .cpp файл