Но как же так?! Получается, что все комнаты будут иметь один и тот же нулевой номер?! Нет, разумеется. Просто длина последовательности нулей и единиц такова, что прочитать последнюю цифру рассказчику не удастся никогда. Вернее, за бесконечное (счетное) количество времени.
" стало ясно, что какое бы счетное множество вариантов ни взять, всегда найдется вариант, не вошедший в это множество А это и значит, что множество всех вариантов заполнения гостиницы несчетно" [3, с.70-71].
Как видим, вывод о несчетности вариантов явно ошибочен. Похоже, что этого не заметили и программисты или математики в тресте космических гостиниц, которые обязаны были предостеречь руководство от такого тривиального, бессмысленного задания. Бесконечное (счетное) число вариантов бинарных чисел даёт весь натуральный бинарный ряд чисел. Без пропусков и повторов. Каждый дежурный по этажу должен был составить список всех вариантов (то есть, номеров комнат) из бесконечной последовательности бинарных чисел. Неважно, что дежурных много, а гостиниц вообще бесконечное (счетное) количество. Каждый из дежурных предоставит в точности один и тот же список вариантов (номеров).
По поводу "отсутствующего" номера комнаты добавим этот номер в списке есть, но находится среди номеров второй половины бесконечного их количества. Заметим, что при таком способе "нахождения" не проходит и хитрость с отбрасыванием ведущих нулей, то есть:
поскольку в этом случае у второй комнаты в номере отсутствует вторая цифра, у третьей третья, у четвертой четвертая и так далее.
Разрядность и количество чисел в массиве
Легко показать, что причина ошибки заключается в том, что при поиске отсутствующего числа по непонятной причине количество разрядов чисел (записей в блокноте) приравнивалось общему количеству всех чисел. В сущности, это очевидное и даже тривиальное некорректное допущение, и почему оно оказалось незамеченным, непонятно. Действительно, общее количество чисел, их основание и разрядность связаны простым соотношением
где
k количество чисел разрядности n и основанием m;
m основание чисел: десятичные, двоичные и т.д.;
n разрядность чисел, числового ряда.
Например, общее количество чисел с основанием 10 (десятичные) и разрядностью 5 равно 100 000, то есть, от 00000 до 99 999. А количество чисел с основанием 2 (бинарных) и числом разрядов 16, соответственно, равно 216 или 65 536 чисел от 0000 0000 0000 0000 до 1111 1111 1111 1111. Точно такие же соотношения можно составить и для любых других оснований шестнадцатеричного, восьмеричного и так далее.
Рассмотрим массив бинарных чисел, использованных в "блокнотном методе", и возможность метода определить число, номер, не использованный при нумерации комнат. Сначала вновь обратимся к примеру с массивом пятизначных чисел, теперь уже двоичных, бинарных.
Обобщённо в двоичном коде пятизначное число можно записать как nnnnn c диапазоном от 00000 до 11111. Количество этих чисел равно 25 = 32. Поскольку их относительно мало, можем записать все их в виде таблицы 4х8 слева направо, сверху вниз:
Теперь можно воспользоваться "блокнотным методом". Рассказчик и его герой в рассказе, а также все их последователи искали пропущенное число поразрядно, то есть, переходя от двери к двери комнат отеля, добавляли к записи в блокноте всё новый и новый разряд, полагая, что тем самым они просмотрели все возможные числа, номера комнат. Но на самом деле, как видно из соотношения, они переберут только количество чисел, равное их разрядности.
Мы, согласно традиции метода, предполагаем, что кому-то удалось пересчитать и перенумеровать все 32 числа в этой таблице. Попробуем доказать, что счётчик всё-таки пропустил, по меньшей мере, одно число. Итак, смотрим на первое число. Его первый разряд равен нулю, поэтому записываем в блокнот единицу: 1nnnn. Остальные четыре цифры нам пока неизвестны. Теперь смотрим на второе число, двигаясь по таблице сверху вниз. Видим, что вторая цифра второго числа равна единице, поэтому записываем в блокнот цифру 0 вторым разрядом нашего числа: 10nnn. Смотрим третье число и видим, что третья цифра равна нулю. Делаем запись в блокнот: 101nn. Таким же образом записываем и четвёртую цифру 1 в блокнот, заметив, что четвёртая цифра четвёртого числа в таблице равна нулю: 1011n. Последнее, пятое число в таблице берём рядом с предыдущим: последнее число в следующей колонке. В результате получаем в блокноте окончательно число 10110. Согласно "блокнотному правилу" наше число отличается от первого первой цифрой, от второго второй, от третьего третьей и так далее. Следовательно, мы должны сделать вывод, что счётчик не пронумеровал это число в процессе подсчёта, ведь оно отличается первым разрядом от первого числа и так далее. Однако это явно не так. Реально мы просмотрели только 5 (пять) чисел в колонках, хотя общее количество чисел равно 32 в 6 раз больше. И это, якобы пропущенное число, в этой таблице точно есть. Находится оно в третьей строке в седьмой колонке. Заметим, что порядок просмотра номеров в таблице значения не имеет, просто будут получены разные "пропущенные" номера.