Все решается через степени двойки. 1. Номер года. Число от 1 до 2100. Можно перевести 2100 в двоичную систему и посмотреть, сколько бит оно займет. Но это долго. Ведь можно просто вспомнить, что 1 Кбайт - это 1024 байта или 2 в десятой степени. 2 в одиннадцатой 2048 (удваиваем), 2 в двенадцатой - 4096. Наш диапазон дат укладывается в интервал между 2048 и 4096, поэтому нам потребуется 12 бит. 2. Номер месяца - их 12. У нас есть 2 в четвертой - это 16, и два в кубе - только 8. Поэтому еще 4 бита запасаем на месяц. 3. Номер дня - максимальный 31. Мы знаем, что 2 в пятой степени равно 32, значит 5 бит будет достаточно. Всего нам потребуется 12+4+5=21 бит.
Набрать в 7л-ведро и вылить в 13л-ведро/ снова набрать 7л-ведро вылить в 13л-ведро\ в ведре остался 1л\ 13л-ведро освободить\ литр из ведра вылить в 13л-ведро\ набрать в 7л-ведро и вылить в 13л-ведро\снова набрать7л-ведро и вылить в 13л-ведро\ в ведре осталось 2л\ переливаем 2л в 13л-ведро\ набираем 7л-ведро и выливаем в 13л-ведро\набираем 7л-ведро и выливаем в 13л-ведро\ в ведре осталось 3л\ освободить 13л-ведро\перелить 3л в 13л-ведро\набрать 7л-ведро и вылить в 13л-ведро\набрать 7л-ведро и вылить в 13 л-ведро\в ведре осталось 4л\ дважды набираем 7л ведро и выливаем в 13л-ведро\в 7л-ведре останется 5л\ 13л-ведро освободить