Audiophile's Blog
Логин:Пароль:


Забыл пароль | Регистрация (убрать всю рекламу)
О сайте | Ликбез | Словарь | Audiophile's Testroom | Поддержать | Контакты
Разделы
Поиск по сайту
Популярное
Персональная настройка
Настройка звука онлайн (foobar2000, драйвера, Windows), создание персональных сборок foobar2000.

Контакты

Случайный опрос
Какой битрейт (средний) вы считаете оптимальным для lossy кодирования?
Всего ответов: 6080
Полезный софт
Opera QIP 2010 Download Master µTorrent
Ace Utilities AIDA64 SpeedFan 7-Zip
ESET NOD32 FileZilla Media Player Classic Home Cinema Paint.NET
Sony Sound Forge VirtualDub Unlocker Punto Switcher
Похожие проекты
Сейчас на сайте
Онлайн всего: 7
Гостей: 7
Пользователей: 0
»

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


20 Мая 2013, 22:21

Факториал — весьма интересная, чрезвычайно быстро растущая функция. Факториал четырех равен 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: один из лидеров на рынка бизнес-авиации. На сайте компании Вы можете легок и быстро сделать заказ частного самолета. Ваш персональный менеджер подберет для Вас рейс в полном соответствии с Вашими потребностями.

 
   
Просмотров: 3934 | Автор: | Добавил: Audiophile () | Рейтинг: 5.0/5, голосов: 1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Авторские статьи
Сообщество
Последнее на форуме
Кодеки
TAK FLAC APE WV
MPC OGG AAC/ALAC MP3
WMA TTA OFR LA
Теги
Follow me
Twitter YouTube
Google+ Facebook
Полезные ссылки
Copyright Taras Kovrijenko © 2009–2017