Год: 1, 21, 31, 41, 51, 61, 71, 81, 91, 101 (оканчивается на единицу, исключение: 11 и 111) Года: 2-4, 22-24, 32-34, 42-44, 52-54, 62-64, 72-74, 82-84, 92-94, 102-104 (оканчивается на 2, 3 или 4, исключения: 12, 13, 14, 112, 113, 114) Лет: 0, 5-20, 25-30, 35-40, 45-50, 55-60, 65-70, 75-80, 85-90, 95-100, 105-120 (оканчивается на 0, 5-9, плюс исключения из пунктов) У исключений есть общее: остаток при делении на 100 будет в промежутке от 11 до 14.
n - возраст Язык программирования: Паскаль
var n : integer ; begin read (n) ; n := n mod 100 ; if n in [11..14] then writeln ('лет'); else begin n := n mod 10 ; case n of 1 : writeln ('год') ; 2..4 : writeln ('года') ; 0, 5..9 : writeln ('лет') ; end ; readln ; end.
При кодировании первым для хранения номера одного инструмента требуется log(2)180 ≈ 8 бит. Второй X=2, количество инструментов в группе = 180/2 = 90 Объем памяти для кодирования = log(2)2+log(2)90 ≈ 1+7 = 8 бит. X=3, количество инструментов в группе = 180/3 = 60 Объем памяти для кодирования = log(2)3+log(2)60 ≈ 2+6 = 8 бит. X=4, количество инструментов в группе = 180/4 = 45 Объем памяти для кодирования = log(2)4+log(2)45 ≈ 2+6 = 8 бит. X=5, количество инструментов в группе = 180/5 = 36 Объем памяти для кодирования = log(2)5+log(2)36 ≈ 3+6 = 9 бит. ответ: X=5