Audiophile's Blog

Как найти факториал миллиарда

Дата обновления: 20 Мая 2013
2013-05-20T22:21
Audiophile's Software

Факториал — весьма интересная, чрезвычайно быстро растущая функция. Факториал четырех равен 24, факториал 10 — уже 3628800, факториал сотни: 100!=9.33e+157, а вот факториал тысячи вам не посчитает даже калькулятор Google — Infinity (бесконечность), и всё тут.

Этот вопрос интересовал меня давно. Мне как-то вздумалось хотя бы приблизительно узнать количество нулей у числа, равного факториалу миллиарда (1000000000!). А ведь правда, если нельзя узнать его точно, то хотя бы порядок ведь можно определить. Для этого я решил найти зависимость количества нулей (порядка) от показателя степени аргумента факториала (для простоты возьмем за основание десятку) и написал следующую задачу:

Имеется число 10^n, его факториал представлен в виде числа с плавающей точкой:

(10^n)!=m*(10^x)

При этом имеется определенная зависимость показателя степени результата от показателя степени n в аргументе:

x=f(n)=?

Именно это зависимость я и решил найти.

Первым делом следовало найти альтернативный метод вычисления факториала — без перемножения всех членов ряда натуральных чисел. Покопав на эту тему, я обнаружил замечательную формулу, именуемую формулой Стирлинга, упрощенный вид которой выглядит следующим образом:

И эта формула как нельзя лучше подошла для моей задачи. В данном случае её следует переписать так:

А теперь выполним некоторые преобразования:

Чтобы перейти к степеням десятки, следует преобразовать число e:

Выполним преобразование показателя, совместив показатели при десятках, и получим:

Теперь проверим формулу в Mathcad:

Как видим, полученные по нашей формуле результаты довольно таки похожи на правду. Осталось лишь определиться с нулями. В данном случае мантиссой, т.е. коэффициентом 2,507 можно пренебречь (так как он меньше десяти, т.е. даже лишний порядок едва ли прибавит, а речь идет о тысячах порядков). У нас остается показатель степени десятки, который собственно и определяет порядок. Итак, возвращаясь к задаче, пишем ответ:

А теперь — самое интересное. Найдем количество нулей для факториалов степеней десятки от 1 до 9 (от десяти до миллиарда):

Вуаля! Теперь мы знаем, что факториал миллиарда имеет около девяти миллиардов нулей. Аплодисменты, занавес...


Информация от спонсора

Leading CHARTER Technologies: один из лидеров на рынка бизнес-авиации. На сайте компании Вы можете легок и быстро сделать заказ частного самолета. Ваш персональный менеджер подберет для Вас рейс в полном соответствии с Вашими потребностями.

 
   
Добавил: Audiophile | Просмотров: 4063 | Рейтинг: 5.0/5, голосов: 1
Комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]