文言から判断すると、このタスクは情報のバイナリコーディング用です。この場合、ボトル番号は計算する必要があるバイナリ番号であり、ガラス番号はバイナリカテゴリに対応します。対応するボトルの数のバイナリエントリ内のユニットに従って、各ボトルからメガネに注ぐ必要があります。メガネが壊れたら、メガネの条件を数字（1-クラッシュ、0-全体）でバイナリ形式で記録する必要があります。結果のバイナリ番号は、目的のボトルの数になります。
答えは、NグラスとMボトルからのケースについて要約されています（nが2度未満で2つ未満であるため、タスクには明確な解決策がありません）。
Судя по формулировке, эта задача на двоичное кодирование информации. В таком случае - номер бутылки это двоичное число, которое нужно вычислить, а номер бокала соответствует двоичному разряду. Нужно налить из каждой бутылки в бокалы, в соответствии с единицам в двоичной записи номера соответствующей бутылки. Когда бокалы разобьются, необходимо записать в двоичном виде состояние бокалов по номерам (1 - разбился, 0 - целый). Полученное двоичное число будет номером искомой бутылки.
Ответ обобщается для случая с N бокалов и M бутылок (M строго меньше,чем два в степени N, в противном случае задача не имеет однозначного решения).