Вычисление факториала числа

Результат расчёта
n! ≈ {$ result|number $}

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

Основная информация

Сначала заметим, что математически факториал записывается при помощи восклицательного знака. Такая запись выглядит как n!, а читается как эн-факториал. Математический смысл факториала состоит в произведении последовательных натуральных чисел от 1 до n:

n! = 1 × 2 × 3 … (n − 2) × (n − 1) × n,

где n — заданное количество натуральных чисел.

Первые значения n! выглядят так:

  • 1! = 1
  • 2! = 2
  • 3! = 6
  • 4! = 24
  • 5! = 120

Факториал очень быстро растущая функция, если 5! эквивалентно 120, то 15! составляет уже 1 307 674 368 000, а 50! имеет в своем составе 64 нуля. Факториал возник в комбинаторике при расчете количества перестановок множества из n-ного количества элементов. К примеру, для трехэлементного множества Z = {A, B, C} существует 3! = 6 вариантов перестановок:

  • ABC;
  • ACB;
  • BAC;
  • BCA;
  • CAB;
  • CBA.

Теоретико-множественное обоснование смысла факториала позволило доказать парадоксальное на первый взгляд утверждение, что 0! = 1. Ноль-факториал, по сути, представляет собой 0 × 1, а каждый пятиклассник знает, что при умножении на ноль в результате также будет ноль. Пустое же множество, не содержащее элементов, может быть упорядоченно одним единственным способом, поэтому факториал нуля равен единице. В целом факториал находит широкое применение в теории чисел, теории вероятностей, функциональном анализе, комбинаторике, а также при разложении функций в ряд Тейлора.

Вычисление n!

Вычисление факториала для натуральных чисел меньше 10 не представляет особой сложности, однако молниеносный рост функции делает крайне затруднительным вычисление факториалов по мере роста чисел. В компьютерных вычислениях основной сложностью становится отображение и хранение результата расчета функции n!. Прямое умножение натуральных чисел для вычисления факториала для n > 20 не используется.

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

Формула Стирлинга позволяет вычислить приблизительное значение факториала любого числа n, оперируя при этом только числом n и постоянными коэффициентами. Данная формула позволяет избежать огромных промежуточных вычислений. Для точного вычисления значения формула Стирлинга содержит 7 слагаемых, однако в большинстве случаев эти слагаемые опускаются, а факториал рассчитывается приближенно:

n! ≈ sqrt(2pi × n ) × (n/e)n,

где e — экспонента.

Наш калькулятор рассчитывает факториал именно по формуле Стирлинга, поэтому для небольших чисел значение факториала будет выглядеть необычно. Например, 2! ≈ 1,919, а 3! ≈ 5,836. Не пугайтесь такого представления результата, просто округлите число до ближайшего целого в большую сторону и вы получите правильный ответ. Для больших чисел результат будет представлен в виде мантиссы и порядка. Например, 100! ≈ 9,325e+157. Это означает, что 100! ≈ 9,325 × 10157.

Другие виды факториалов

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

p7 = 2 × 3 × 5 × 7 × 11 × 13 × 17 = 510 510

Кроме того, существует суперфакториал, который представляет собой произведение первых n факториалов. Например, суперфакториал 5 равен:

sf(5) = 1! × 2! × 3! × 4! × 5! = 1 × 2 × 6 × 24 × 120 = 34 560

Очевидно, что последовательность суперфакториалов является самой быстрорастущей.

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

Рассмотрим пример из комбинаторики

Лотерея

Всем известны различные лотереи, где игрокам требуется угадать комбинацию 6 чисел из 52 возможных. Правила могут отличаться, иногда требуется угадать 5 чисел из 60 или 6 из 90. Пусть вы купили билет классической лотереи «Спортлото» и для выигрыша вам требуется угадать комбинацию 6 чисел из 49 возможных. Какова вероятность выиграть главный приз? К нам на помощь приходит комбинаторика и факториалы. Общее количество возможных комбинаций для данного примера рассчитывается по формуле:

Общее количество 6 из 49 = 49! / (6! × 43!)

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

Общее количество 6 из 49 = 6,072e+62 / 720 × 6,030e+52 = 13 985 627.

Это означает, существует приблизительно 14 миллионов шестиэлементных комбинаций, образованных из 49 чисел. Следовательно, вероятность выигрыша в «Спортлото» составляет 1 к 14 миллионам.

Заключение

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