Факториал что это и как вычисляется

Факториал

Факториал что это и как вычисляется

Факториал что это и как вычисляется

По определению полагают 0! = 1. Факториал определён только для целых неотрицательных чисел.

Последовательность факториалов неотрицательных целых чисел начинается так:

1, 1, 2, 6, 24, 120, 720, 5040, 40 320, 362 880, 3 628 800, 39 916 800, 479 001 600, 6 227 020 800, 87 178 291 200, 1 307 674 368 000, 20 922 789 888 000, 355 687 428 096 000, 6 402 373 705 728 000, 121 645 100 408 832 000, 2 432 902 008 176 640 000, … (последовательность A000142 в OEIS)

Факториал является чрезвычайно быстро растущей функцией. Он растёт быстрее, чем многочлен любой степени, и быстрее, чем экспоненциальная функция (но медленнее, чем двойная экспоненциальная функция Факториал что это и как вычисляется).

Содержание

Свойства

Рекуррентная формула

Комбинаторная интерпретация

В комбинаторике факториал натурального числа n интерпретируется как количество перестановок (упорядочиваний) множества из n элементов. Например, для множества <A,B,C,D> из 4-х элементов существует 4! = 24 перестановки:

Комбинаторная интерпретация факториала служит обоснованием тождества 0! = 1, т. к. пустое множество упорядочено единственным способом.

Связь с гамма-функцией

Факториал что это и как вычисляется

Факториал что это и как вычисляется

Факториал связан с гамма-функцией от целочисленного аргумента соотношением:

Факториал что это и как вычисляется

Таким образом, гамма-функцию рассматривают как обобщение факториала для положительных вещественных чисел.

Путём аналитического продолжения её также расширяют и на всю комплексную плоскость, исключая особые точки при Факториал что это и как вычисляется

Факториал что это и как вычисляется

Факториал что это и как вычисляется

Более непосредственным обобщением факториала на множество вещественных (и комплексных) чисел является пи-функция, определяемая как

Факториал что это и как вычисляется

Поскольку Факториал что это и как вычисляетсято пи-функция натурального числа совпадает с его факториалом: Факториал что это и как вычисляетсяКак факториал, пи-функция удовлетворяет рекурсивному соотношению Факториал что это и как вычисляется

Формула Стирлинга

Факториал что это и как вычисляется

см. O-большое. Коэффициенты этого разложения дают последовательность A001163 в OEIS (числители) и последовательность A001164 в OEIS (знаменатели).

Во многих случаях для приближённого значения факториала достаточно рассматривать только главный член формулы Стирлинга:

Факториал что это и как вычисляется

При этом можно утверждать, что

Факториал что это и как вычисляется

Формула Стирлинга позволяет получить приближённые значения факториалов больших чисел без непосредственного перемножения последовательности натуральных чисел. Так, с помощью формулы Стирлинга легко подсчитать, что

Разложение на простые числа

Каждое простое число p входит в разложение n! на простые множители в степени

Факториал что это и как вычисляется

Факториал что это и как вычисляется

Другие свойства

Обобщения

Двойной факториал

Факториал что это и как вычисляется Факториал что это и как вычисляется

По определению полагают 0!! = 1.

Последовательность значений n!! начинается так:

1, 1, 2, 3, 8, 15, 48, 105, 384, 945, 3840, 10 395, 46 080, 135 135, 645 120, 2 027 025, 10 321 920, 34 459 425, 185 794 560, 654 729 075, 3 715 891 200, 13 749 310 575, 81 749 606 400, 316 234 143 225, 1 961 990 553 600, 7 905 853 580 625, 51 011 754 393 600, … (последовательность A006882 в OEIS).

Кратный факториал

Пусть число n представимо в виде Факториал что это и как вычисляетсягде Факториал что это и как вычисляется Факториал что это и как вычисляетсяТогда [1]

Факториал что это и как вычисляется

Кратный факториал связан с гамма-функцией следующим соотношением [2] :

Факториал что это и как вычисляется

Убывающий факториал

Убывающим факториалом (или неполным факториалом) называется выражение

Факториал что это и как вычисляется

Возрастающий факториал

Возрастающим факториалом называется выражение

Факториал что это и как вычисляется

Праймориал или примориал

Праймориал или примориал (англ. primorial ) числа n обозначается n# и определяется как произведение всех простых чисел, не превышающих n. Например,

11# = 12# = 2 · 3 · 5 · 7 · 11 = 2310.

Последовательность праймориалов (включая Факториал что это и как вычисляется) начинается так:

1, 2, 6, 30, 210, 2310, 30 030, 510 510, 9 699 690, 223 092 870, 6 469 693 230, 200 560 490 130, 7 420 738 134 810, 304 250 263 527 210, 13 082 761 331 670 030, 614 889 782 588 491 410, 32 589 158 477 190 044 730, 1 922 760 350 154 212 639 070, … (последовательность A002110 в OEIS).

Суперфакториалы

Нейл Слоан и Саймон Плоуф (англ.) в 1995 году определили суперфакториал как произведение первых n факториалов. Согласно этому определению, суперфакториал четырёх равен

Факториал что это и как вычисляется

(поскольку устоявшегося обозначения нет, используется функциональное).

Факториал что это и как вычисляется

Последовательность суперфакториалов чисел n⩾0 начинается так:

1, 1, 2, 12, 288, 34 560, 24 883 200, … (последовательность A000178 в OEIS).

Идея была обобщена в 2000 году Генри Боттомли (англ.), что привело к гиперфакториалам (англ. Superduperfactorial ), которые являются произведением первых n суперфакториалов. Последовательность гиперфакториалов чисел n⩾0 начинается так:

1, 1, 2, 24, 6912, 238 878 720, 5 944 066 965 504 000, 125 411 328 000, 5 056 584 744 960 000, 1 834 933 472 251 084 800 000, 6 658 606 584 104 736 522 240 000 000, 265 790 267 296 391 946 810 949 632 000 000 000, 127 313 963 299 399 416 749 559 771 247 411 200 000 000 000 … (последовательность A055462 в OEIS)

Факториал что это и как вычисляется

где Факториал что это и как вычисляетсядля Факториал что это и как вычисляется0″ border=»0″ /> и Факториал что это и как вычисляется

Субфакториал

Ссылки

См. также

Примечания

Полезное

Смотреть что такое «Факториал» в других словарях:

ФАКТОРИАЛ — [англ. factorial Словарь иностранных слов русского языка

ФАКТОРИАЛ — (обозначение «!»), число, получаемое в результате умножения данного числа на все целые числа меньше него. Например, факториал числа 6 равен 6!=6.5.4.3.2.1=720. Факториалом нуля считают 0!=1 … Научно-технический энциклопедический словарь

ФАКТОРИАЛ — (от латинского factor деятель, создатель, множитель), произведение натуральных чисел от единицы до какого либо данного натурального числа n, т.е. 1?2. n; обозначается n! … Современная энциклопедия

факториал — сущ., кол во синонимов: 1 • термин (18) Словарь синонимов ASIS. В.Н. Тришин. 2013 … Словарь синонимов

Факториал — (от латинского factor деятель, создатель, множитель), произведение натуральных чисел от единицы до какого либо данного натурального числа n, т.е. 1´2´. ´n; обозначается n!. … Иллюстрированный энциклопедический словарь

ФАКТОРИАЛ — произведение всех натуральных чисел от 1 до данного натурального числа n; обозначается n! = 1·2·3·. ·n; по определению, 0! = 1 … Большая политехническая энциклопедия

факториал — произведение натуральных чисел от единицы до какого либо данного натурального числа n, то есть 1·2·3·. ·n; обозначается: n!. Например, 5! = 1·2·3·4·5 = 120. * * * ФАКТОРИАЛ ФАКТОРИАЛ, произведение натуральных чисел от единицы до какого либо… … Энциклопедический словарь

факториал — faktorialas statusas T sritis fizika atitikmenys: angl. factorial vok. Faktorielle, f; Fakultät, f rus. факториал, m pranc. factorielle, f … Fizikos terminų žodynas

Источник

Факториал числа n – это произведение чисел от 1 до n. Определён только для целых неотрицательных чисел. Формула факториала:

Математическая формула представлена восклицательным знаком «!». Термин был введен в 1800 году, а обозначение появилось только в 1808. В формуле нужно умножить все целые числа от 1 до значения самого числа, стоящего под знаком факториала.

Это очень просто, вот пример:

Таблица факториалов

Факториал что это и как вычисляется

Свойства факториалов

Рекуррентная формула

Факториал что это и как вычисляется

Комбинаторная интерпретация

Функция n может интерпретироваться как количество перестановок. К примеру, для 3-х элементов есть 3! = 6 перестановки.

Формула Стирлинга

Позволяет не перемножать большие числа. Обычно необходим только главный член:

Факториал что это и как вычисляется

Расчет по предыдущему значению

Функцию легко вычислить из предыдущего значения:

А как вычислить факториал нуля? Если вернуться к определению, то видно, что применять его в случае «0» нет смысла. Положительных чисел до 0 нет, поэтому 0 x 0 = 0.

Однако было решено, что в случае 0 результат будет равен 1.

Факториал что это и как вычисляется

Некоторые очень большие значения

Онлайн калькулятор поможет сделать вычисление – всего лишь надо найти знак, похожий на «x!» или «n!». Нужно обратить внимание, что браузеры могут испытывать затруднения при попытке отобразить более крупные числа и может произойти сбой.

Некоторые браузеры могут не позволять копировать, поэтому необходимо будет загрузить большие результаты в виде текстового файла.

Примеры вычисления факториалов больших чисел:

70! приблизительно 1 19785716669969869891796072783721 x 10100, что немного больше, чем «гуголь» (1 и 100 нулей);

100! это примерно 9 33262154444944152681699238856 x 101576 x 10157;

200! это примерно 7 88657867867364479050355236321393 x 103743.

Как найти функцию в Паскаль? Вычисление легко реализуется на разных языках программирования. Можно выбрать два метода: итеративный, то есть он создает цикл, в котором временная переменная умножается на каждое натуральное число от 1 до n, или рекурсивный, в котором функция вызывает себя до достижения базового варианта 0! = 1.

Программа на языке Паскаль:

Факториал что это и как вычисляется

На языке Си вычисления делаются с помощью рекурсивной функции. Следует заметить, что если начать вычислять факториал отрицательного числа в неаккуратно написанной функции, то это приведет к зацикливанию.

Источник

Факториал

Факториал что это и как вычисляется

Статья находится на проверке у методистов Skysmart.
Если вы заметили ошибку, сообщите об этом в онлайн-чат
(в правом нижнем углу экрана).

Факториал: определение

Факториал числа n — это произведение натуральных чисел от 1 до n. Обозначается n, произносится «эн-факториал».

Факториал определен для целых неотрицательных чисел. Это значит, что вот так нельзя:

Число должно быть целое и положительное:

Вычисляется факториал по формуле: путем умножения всех чисел от одного до значения самого числа под факториалом. Факторизация — это разложение функции на множители.

Мы видим, что 4! — это 3!*4
5! — это 4!*5
6! — это 5!*6

Формулы и свойства факториала

Чтобы узнать, как вычислять факториалы быстро — воспользуемся табличкой. Сохраняйте себе и решайте раньше остальных.

1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
11! = 39916800
12! = 479001600
13! = 6227020800
14! = 87178291200
15! = 1307674368000
16! = 20922789888000
17! = 355687428096000
18! = 6402373705728000
19! = 121645100408832000
20! = 2432902008176640000
21! = 51090942171709440000
22! = 1124000727777607680000
23! = 25852016738884976640000
24! = 620448401733239439360000
25! = 15511210043330985984000000

Факториалов в математике 9 класса — полно. Чтобы всегда быть готовым решить пример, запомните основные формулы:

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

Такая формула дает результат с небольшой погрешностью.

Факториал что это и как вычисляется

Рекуррентная формула

Факториал что это и как вычисляется

Для решения примеров обращайтесь к таблице.

Примеры умножения факториалов:

Нужно быстро привести знания в порядок перед экзаменом? Записывайтесь на курсы ЕГЭ по математике в Skysmart!

Примеры решений

Давайте поупражняемся и решим пару примеров.

1. Сократите дробь:

Факториал что это и как вычисляется

Факториал что это и как вычисляется

Далее сокращаем по принципу сокращения обыкновенных дробей.

2. Вычислите значение выражения с факториалом: 8! + 5!

Можно для решения факториалов воспользоваться таблицей и вычислить быстрее.

А можно потренироваться и разложить их:

8! = 1*2*3*4*5*6*7*8 = 7!*8 = 5040 * 8 = 40320
5! = 1*2*3*4*5 = 4!*5 = 120
40320 + 120 = 40440
8! + 5! = 40440

3. Вычислите значение выражения:

Факториал что это и как вычисляется

Факториал что это и как вычисляется

7! = 1*2*3*4*5*6*7 = 5! * 6 *7

Далее сокращаем все, что можем сократить (3*2=6, сокращаем числа 6) и получаем ответ.

4. Вычислите значение выражение:

Факториал что это и как вычисляется

Факториал что это и как вычисляется

Вы уже знаете, как найти факториал — раскладываем 70 и 49:
70! = 1*2*3*. *69 = 69! * 70
49! = 1*2*3*. 49! * 48

Далее сокращаем все одинаковые множители.

5. Сократите дробь:

Факториал что это и как вычисляется

Факториал что это и как вычисляется

Проводим разложение на множители при помощи формул сокращенного умножения (x+1)x(x-1) и сокращаем все одинаковые множители (x-1)!.

Если вы все еще считаете, что факториал бесполезен и не может помочь вам в жизни, то это не так. Он помогает легко вычислять вероятности (а это бывает нужно чаще, чем кажется). К тому же, комбинаторика необходима тем, кто собирается работать в IT. Поэтому решайте побольше задачек на факториалы, в мире будущего без них — никуда.

Источник

Факториал

Факториал что это и как вычисляется

ЧТО ТАКОЕ ФАКТОРИАЛ

Для нахождения факториала нужно умножить все целые числа от выбранного нами числа до 1.

Факториал обозначается символом «!»

4! = 4 · 3 · 2 · 1 = 24
5! = 5 · 4 · 3 · 2 · 1 = 120

Обычно говорят 4! как «факториал четырех».

ВЫЧИСЛЕНИЕ ФАКТОРИАЛА

Можно легко рассчитать факториал, зная значение факториала предыдущего числа:

Факториал что это и как вычисляется

Можно это записать в виде таблицы:

nn!
1111
22 x 1= 2 x 1!= 2
33 x 2 x 1= 3 x 2!= 6
44 x 3 x 2 x 1= 4 x 3!= 24
55 x 4 x 3 x 2 x 1= 5 x 4!= 120
6и так далееи так далее

Для точного определения факториала любого числа следует воспользоваться таблицей факториалов

9! равно 362.880. Попробуйте посчитать 10!
10! = 9!х10
10! = 362.880 х 10 = 3.628.800

ФОРМУЛА ФАКТОРИАЛА

Существует правило как найти n факториал:

ФАКТОРИАЛ 0

Это очень интересная тема. Принято, что 0! = 1. А почему?

Никакое умножение чисел не приводит к 1, но давайте проследим факториалы в обратном порядке, скажем, от 4!:

Факториал что это и как вычисляется

И во многих задачах 0! = 1 просто имеет смысл.

ФАКТОРИАЛ ОТРИЦАТЕЛЬНОГО ЧИСЛА

Можем ли мы найти факториалы для чисел меньших нуля?

Нет. Факториалы для таких чисел не определены.

Почему? Легко объяснить на примере.

Начнем с 3! = 3 × 2 × 1 = 6 и спускаемся вниз:
2! = 3! / 3 = 6 / 3 = 2
1! = 2! / 2 = 2 / 2 = 1
0! = 1! / 1 = 1 / 1 = 1
(поэтому 0! = 1)
(−1)! = 0! / 0 = 1 / 0 = ой, деление на ноль не определено

И с этого момента все целочисленные факториалы не определены.

ФАКТОРИАЛ ДРОБНОГО ЧИСЛА

Можем ли мы найти факториалы для таких чисел, как 0,4 или −8,116?

Да мы можем! Но нам нужно углубиться в тему под названием Гамма-функция, которая выходит за рамки этой страницы.

И они могут быть отрицательными (кроме целых чисел).

Вот несколько значений дробных факториалов:

(-1/2)!√π
(1/2)!(1/2)√π
(3/2)!(3/4)√π
(5/2)!(15/8)√π

ПРИМЕНЕНИЕ ФАКТОРИАЛА

Факториалы незаменимы для вычисления количества перестановок, сочетаний и размещений.

Что такое 100! / 98!
Используя наши знания из предыдущего примера, мы можем сразу перейти к следующему:
100!/98! = 100 × 99 = 9900

Другие примеры задач с факториалом и их решение на странице решение факториалов.

ИНТЕРЕСНЫЕ ФАКТЫ

100 факториал: 100! приблизительно 9,3326215443944152681699238856 x 10 157

200 факториал: 200! приблизительно 7,8865786736479050355236321393 x 10 374

Источник

Алгоритмы быстрого вычисления факториала

Понятие факториала известно всем. Это функция, вычисляющая произведение последовательных натуральных чисел от 1 до N включительно: N! = 1 * 2 * 3 *… * N. Факториал — быстрорастущая функция, уже для небольших значений N значение N! имеет много значащих цифр.

Попробуем реализовать эту функцию на языке программирования. Очевидно, нам понадобиться язык, поддерживающий длинную арифметику. Я воспользуюсь C#, но с таким же успехом можно взять Java или Python.

Итак, простейшая реализация (назовем ее наивной) получается прямо из определения факториала:

На моей машине эта реализация работает примерно 1,6 секунд для N=50 000.

Далее рассмотрим алгоритмы, которые работают намного быстрее наивной реализации.

Алгоритм вычисления деревом

Первый алгоритм основан на том соображении, что длинные числа примерно одинаковой длины умножать эффективнее, чем длинное число умножать на короткое (как в наивной реализации). То есть нам нужно добиться, чтобы при вычислении факториала множители постоянно были примерно одинаковой длины.

Пусть нам нужно найти произведение последовательных чисел от L до R, обозначим его как P(L, R). Разделим интервал от L до R пополам и посчитаем P(L, R) как P(L, M) * P(M + 1, R), где M находится посередине между L и R, M = (L + R) / 2. Заметим, что множители будут примерно одинаковой длины. Аналогично разобьем P(L, M) и P(M + 1, R). Будем производить эту операцию, пока в каждом интервале останется не более двух множителей. Очевидно, что P(L, R) = L, если L и R равны, и P(L, R) = L * R, если L и R отличаются на единицу. Чтобы найти N! нужно посчитать P(2, N).

Посмотрим, как будет работать наш алгоритм для N=10, найдем P(2, 10):

P(2, 10)
P(2, 6) * P(7, 10)
( P(2, 4) * P(5, 6) ) * ( P(7, 8) * P(9, 10) )
( (P(2, 3) * P(4) ) * P(5, 6) ) * ( P(7, 8) * P(9, 10) )
( ( (2 * 3) * (4) ) * (5 * 6) ) * ( (7 * 8) * (9 * 10) )
( ( 6 * 4 ) * 30 ) * ( 56 * 90 )
( 24 * 30 ) * ( 5 040 )
720 * 5 040
3 628 800

Получается своеобразное дерево, где множители находятся в узлах, а результат получается в корне
Факториал что это и как вычисляется

Реализуем описанный алгоритм:

Для N=50 000 факториал вычисляется за 0,9 секунд, что почти вдвое быстрее, чем в наивной реализации.

Алгоритм вычисления факторизацией

Для наглядности посчитаем, сколько раз двойка содержится в 10! Двойку дает каждый второй множитель (2, 4, 6, 8 и 10), всего таких множителей 10 / 2 = 5. Каждый четвертый дает четверку (2 2 ), всего таких множителей 10 / 4 = 2 (4 и 8). Каждый восьмой дает восьмерку (2 3 ), такой множитель всего один 10 / 8 = 1 (8). Шестнадцать (2 4 ) и более уже не дает ни один множитель, значит, подсчет можно завершать. Суммируя, получим, что показатель степени при двойке в разложении 10! на простые множители будет равен 10 / 2 + 10 / 4 + 10 / 8 = 5 + 2 + 1 = 8.

Если действовать таким же образом, можно найти показатели при 3, 5 и 7 в разложении 10!, после чего остается только вычислить значение произведения:

10! = 2 8 * 3 4 * 5 2 * 7 1 = 3 628 800

Осталось найти простые числа от 2 до N, для этого можно использовать решето Эратосфена:

Эта реализация также тратит примерно 0,9 секунд на вычисление 50 000!

Как справедливо отметил pomme скорость вычисления факториала на 98% зависит от скорости умножения. Попробуем протестировать наши алгоритмы, реализовав их на C++ с использованием библиотеки GMP. Результаты тестирования приведены ниже, по ним получается что алгоритм умножения в C# имеет довольно странную асимптотику, поэтому оптимизация дает относительно небольшой выигрыш в C# и огромный в C++ с GMP. Однако этому вопросу вероятно стоит посвятить отдельную статью.

Все алгоритмы тестировались для N равном 1 000, 2 000, 5 000, 10 000, 20 000, 50 000 и 100 000 десятью итерациями. В таблице указано среднее значение времени работы в миллисекундах.
Факториал что это и как вычисляется

График с линейной шкалой
Факториал что это и как вычисляется

График с логарифмической шкалой
Факториал что это и как вычисляется

Идеи и алгоритмы из комментариев

Хабражители предложили немало интересных идей и алгоритмов в ответ на мою статью, здесь я оставлю ссылки на лучшие из них

Исходные коды реализованных алгоритмов приведены под спойлерами

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *