Мне было лет 13, в то время я увлекался занимательной математикой, читал М. Гарднера и Магницкого, решал задачки вроде: из четырех четверок составить все числа от 1 до 100 используя любые знаки арифметических действий.
Не помню уже как, но из похожих задач мы с товарищем пришли к соревновательной задаче совсем иного рода: даны цифры от 0 до 9 (всего 10), требуется составить из них наибольшее возможное число, использовать можно любые действия кроме факториала (т.к. он не задействует цифры при применении). Но самое главное, что нас волновало тогда: как нам сравнить 2 получившихся числа и понять, какое же из них больше, ведь разворачивая показатель сверху вниз получаются совершенно астрономические числа, сравнить которые «в лоб» нельзя.
Понятно, что умножение чисел друг на друга и просто возведение в степень не дают максимального числа — из школьного курса математики известно, что показательная функция y=ax растет быстрее, чем степенная, т.е. число 8765432109 заведомо меньше чем 9876543210, но как дальше улучшить результат? Мы стали соревноваться, кто составит наибольшее число. Уже на данном этапе возникали вопросы вроде: какую цифру оставить в основании, 9, а может 8? Хочется в показателе нарастить число как можно большее и кажется, там должна быть 9 (8976543210), но и этот результат можно улучшить, 2 в основание лучше не ставить т.к. она дает малый вклад при возведении в степень, а вот 3 или 4 — это уже нужно проверять, ведь при изъятии их из показателя он существенно уменьшается.
Довольно быстро мы догадались строить многоэтажные дома, накручивая в показателе степени еще и еще. Теперь стало еще труднее эвристически догадаться, как максимизировать показатель, добавился еще один параметр: какое оптимальное число «этажей»? Пример: какое из чисел больше:
или
? Я оставлю вопросы оптимального распределения цифр по этажам и остановлюсь на вычислении количества цифр.
В те далекие 90е у меня был только калькулятор Электроника, который мог показывать числа с количеством цифр вплоть до 100 (гугол) – справа была та самая маленькая буковка E — экспоненциальная запись. Эврика! А что если сравнивать не сами числа, а количество цифр в числе, тогда с точностью до одной цифры можно сказать какое из чисел больше не видя его самого. Эта идея меня очень увлекла, и действительно, на малых степенях это можно было легко проверить. Но у нас не было калькулятора, который бы показывал числа с триллионами цифр, да и сейчас в стандартном калькуляторе Windows вы не сможете проверить в лоб какое из вышеприведенных чисел больше – у меня на ноутбуке с 2гб оперативки он показывает до 10000 цифр.
Тогда я выдвинул гипотезу (как сейчас это принято называть в науке, тогда этого слова я не знал) о том, что должна быть какая-то связь между количеством цифр в числе и показателем степени. Я стал просто делить показатель степени на количество цифр в числе (точнее на количество нулей в экспоненциальной записи, т.е. на 1 меньше количества цифр в числе). Для 2 получилась такая таблица (сразу для больших степеней)
Показатель степени (п.с.) |
Количество цифр (к.ц.) |
Отношение п.с./к.ц. |
10 (210) |
4 (1,024 * 103 – 3 нуля, Е3 в калькуляторе) |
3,33 |
80 |
25 |
3,2 |
90 |
28 |
3,21 |
100 |
31 |
3,225 |
200 |
60 |
3,333 |
300 |
90 |
3,333 |
329 |
99 |
3,3232 |
Конечно же, я надеялся, что моё отношение будет стремиться к какому-то значению, тогда я уже знал про числа Фибоначчи и как образуется из них золотое сечение 1,618, и верил, что и здесь будет так. На мое счастье так и оказалось. Я исписал пару листов тетрадки и вывел подобные таблицы для других цифр до 10 и конечно заметил, что на больших степенях отношение перестает резко меняться, оно уточняется все медленнее и с некоторой смелостью можно уже использовать число 3,3232 для определения количества цифр при возведении двойки. Узнаем сколько цифр в числе 21000: 1000/3,3232 = 300,91 а на самом 21000 имеет 301 цифру. Погрешность как видно невелика.
Чтобы убрать деление в формуле я не попробовал делить наоборот: к.ц. на п.с. и тогда числа из 3го столбца заменяются на обратные им, а конечная формула будет выглядеть так: Количество цифр в числе «x» возводимого в степень = (показатель степени) * (эмпирически открытый коэффициент для числа «x»)
N(x) = a * Jx
Для 2 коэффициент J найденный мной равен 1/3.3232 = 0,3009. Для 3 он был равен 0,475. Вот таблица найденных значений для других цифр:
Число, возводимое в степень x |
Коэффициент Jx |
4 |
0,60 |
5 |
0,69 |
6 |
0,775 |
10 |
1 |
Неизвестно, сколько прошло времени, пока я случайно не наткнулся на наши школьные таблицы Брадиса. Как-то вечером, выполняя домашнее задание и листая книжку, я увидел одну таблицу и моя память поняла, что эти числа она уже где-то видела, они были подозрительно похожи на мои, на те, которые вычислил я. Это была таблица десятичных логарифмов чисел от 1 до 100! Радости моей не было предела. Я все делал правильно, да и к тому же теперь я мог определять количество цифр в исполинском числе. Проверить можно с этой таблицей www.habit.ru/33/302.html
Сейчас я понимаю, что тогда я переоткрыл десятичные логарифмы, но, погуглив, я не нашел именно такой их «физической» интерпретации.