# Fatorial

Fatoriais selecionados; valores em notação científica são arredondados :
| $n$ | $n!$ |
| 0 | 1 |
| 1 | 1 |
| 2 | 2 |
| 3 | 6 |
| 4 | 24 |
| 5 | 120 |
| 6 | 720 |
| 7 | 7003504000000000000♠5040 |
| 8 | 7004403200000000000♠40320 |
| 9 | 7005362880000000000♠362880 |
| 10 | 7006362880000000000♠3628800 |
| 11 | 7007399168000000000♠39916800 |
| 12 | 7008479001600000000♠479001600 |
| 13 | 7009622702080000000♠6227020800 |
| 14 | 7010871782912000000♠87178291200 |
| 15 | 7012130767436800000♠1307674368000 |
| 16 | 7013209227898880000♠20922789888000 |
| 17 | 7014355687428096000♠355687428096000 |
| 18 | 7015640237370572800♠6402373705728000 |
| 19 | 7017121645100408832♠121645100408832000 |
| 20 | 7018243290200817664♠2432902008176640000 |
| 25 | 7025155112100400000♠1.551121004×10$^{25}$ |
| 50 | 7064304140932000000♠3.041409320×10$^{64}$ |
| 70 | 7100119785716700000♠1.197857167×10$^{100}$ |
| 100 | 7157933262154400000♠9.332621544×10$^{157}$ |
| 450 | 9000000000000000000♠1.733368733×10$^{1000}$ |
| 7003100000000000000♠1000 | 9000000000000000000♠4.023872601×10$^{2567}$ |
| 7003324900000000000♠3249 | 9000000000000000000♠6.412337688×10$^{10000}$ |
| 7004100000000000000♠10000 | 9000000000000000000♠2.846259681×10$^{35659}$ |
| 7004252060000000000♠25206 | 9000000000000000000♠1.205703438×10$^{100000}$ |
| 7005100000000000000♠100000 | 9000000000000000000♠2.824229408×10$^{456573}$ |
| 7005205023000000000♠205023 | 9000000000000000000♠2.503898932×10$^{1000004}$ |
| 7006100000000000000♠1000000 | 9000000000000000000♠8.263931688×10$^{5565708}$ |
| 7100100000000000000♠10$^{100}$ | 10$^{7101995657055180894♠10101.9981097754820}$ |
Na matemática, o fatorial (AO 1945: factorial) de um número natural n, denotado por n!, é o produto de todos os naturais menores ou iguais a n. O fatorial de n também é igual ao produto de n e o fatorial de seu antecessor: ${\begin{aligned}n!&=n\times (n-1)\times (n-2)\times (n-3)\times \cdots \times 3\times 2\times 1\\&=n\times (n-1)!\\\end{aligned}}$ Por exemplo, $5!=5\times 4!=5\times 4\times 3\times 2\times 1=120.$ O valor de 0! é 1, conforme a convenção para um produto vazio.
Fatoriais foram descobertos em diversas culturas antigas, notavelmente na matemática indiana, nas obras canônicas da literatura de Jain, e por míticos judeus no livro Talmude Sêfer Yetzirá. A operação fatorial é encontrada em diversas áreas da matemática, notavelmente na combinatória, onde seu uso mais básico é contar as diferentes sequências possíveis — as permutações — de n distintos objetos: existem n!. Na análise matemática, fatoriais são usados nas série de potências para a função exponencial e outras funções. Eles também possuem aplicações na álgebra, teoria dos números, teoria das probabilidades e ciência da computação.
Muita da matemática das funções fatoriais começou a ser desenvolvida no final do século XVIII e início do XIX. A aproximação de Stirling gera uma aproximação precisa para fatoriais de números grandes, mostrando que ele cresce mais rápido que o crescimento exponencial. A fórmula de Legendre descreve os exponentes de números primos numa decomposição em fatores primos dos fatoriais, e pode ser utilizada para contar os zeros à direita dos fatoriais. Daniel Bernoulli e Leonhard Euler interpolaram a função fatorial para uma função contínua de números complexos, exceto nos inteiros negativos, chamada de função gama (deslocada).
Várias outras funções e sequências numéricas importantes estão intimamente relacionadas aos fatoriais, incluindo os coeficientes binomiais, duplos fatoriais, primoriais e subfatoriais. Implementações da função fatorial são comumente usadas como exemplo de diferentes estilos de programação de computadores e estão incluídas em calculadoras científicas e bibliotecas de software de computação científica. Embora calcular diretamente fatoriais grandes usando a fórmula do produto ou recorrência não seja eficiente, algoritmos mais rápidos são conhecidos, combinando, num fator constante, o tempo para algoritmos de multiplicação rápidos para números com o mesmo número de dígitos.

## Definição

A função fatorial é normalmente definida por:
    $n!=\prod _{k=1}^{n}k=n\times (n-1)\times (n-2)\times ...\times 3\times 2\times 1,\qquad \forall n\in \mathbb {N}$
Por exemplo, $5!=5\times 4\times 3\times 2\times 1=120$. Como o fatorial de um número é uma multiplicação de 1 até $n$, $n!$, pode ser definido pelo produto de $n$ com o fatorial de seu antecessor. Logo, $5!=5\times 4!=120$. De forma geral:
    $n!=n\times (n-1)!$
que pode ser reescrito da seguinte forma:
    $(n-1)!={\frac {n!}{n}}$
Portanto:
    $3!={\frac {4!}{4}}={\frac {4\times 3!}{4}}=6$
    $2!={\frac {3!}{3}}={\frac {3\times 2!}{3}}=2$
    $1!={\frac {2!}{2}}={\frac {2\times 1}{2}}=1$
Esta definição implica em particular que $0!=1$, pois
    $0!={\frac {1!}{1}}={\frac {1}{1}}=1$
A função fatorial também pode ser definida (inclusive para não-inteiros) através da função gama:
    $z!=\Gamma (z+1)=\int _{0}^{\infty }t^{z}e^{-t}\,dt$
A sequência dos fatoriais (sequência A000142 na OEIS) para n = 0, 1, 2,... começa com:
    1, 1, 2, 6, 24, 120, 720, 5 040, 40 320, 362 880, 3 628 800...

## Aplicações

Os fatoriais são importantes em análise combinatória. Por exemplo, existem n! caminhos diferentes de arranjar n objetos distintos numa sequência. (Os arranjos são chamados permutações) E o número de opções que podem ser escolhidos é dado pelo coeficiente binomial. Veja também binômio de Newton.
    ${n \choose k}={n! \over k!(n-k)!}.$
Os fatoriais também aparecem em cálculo. Por exemplo, no teorema de Taylor, que expressa a função f(x) como uma série de série de potências em x. A razão principal é que o n derivativo de x$^n$ é n!. Os fatoriais também são usados extensamente na teoria da probabilidade.
Os fatoriais são também frequentemente utilizados como exemplos simplificados de recursividade, em ciência da computação, porque satisfazem as seguintes relações recursivas: (se n ≥ 1):
    n! = n (n − 1)!

## Como calcular fatoriais

O valor numérico de n! pode ser calculado por multiplicação repetida se n não for grande demais. É isto que as calculadoras fazem. O maior fatorial, que a maioria das calculadoras suportam é 69!, porque 70! > 10$^{100}$.
Quando n é grande demais, n! pode ser calculado com uma boa precisão usando a aproximação de Stirling:
    $n!\sim {\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}.$
Esta é uma versão simplificada que pode ser provada usando a matemática básica do ensino secundário; a ferramenta essencial é a indução matemática. Esta é aqui apresentada na forma de um exercício:
    $\left({n \over 3}\right)^{n}<n!<\left({n \over 2}\right)^{n}\ {\mbox{se}}\ n\geq 6.$

## Logaritmo de fatorial

O logaritmo de um fatorial pode ser usado para calcular o número de dígitos que a base de um fatorial irá ocupar. ln(n!) pode ser facilmente calculado da seguinte forma:
    $\ln(n!)=\sum _{k=1}^{n}{\ln(k)}$
Note que esta função, demonstrada graficamente, é quase linear para valores baixos; mas o fator ${\ln(n!)} \over n$ cresce de maneira arbitrária, embora vagarosa. Por exemplo, este é o gráfico de seus primeiros 20 mil valores:
    $\ln(n!)\approx n\ln(n)-n+{\frac {\ln(n)}{2}}+{\frac {\ln(2\pi )}{2}}.$
Uma boa aproximação para ln(n!) é fazer o logaritmo da fórmula de Stirling.

## Generalidades
### A função gama similar

A função gama Γ(z) é definida para todos os números complexos z exceto os inteiros não positivos (z = 0, −1, −2, −3, ...). Relaciona-se aos fatoriais pelo fato de que satisfaz um relacionamento recursivo similar àquele da função fatorial:
    $n!=n(n-1)!$
    $\Gamma (n+1)=n\Gamma (n)$
Junto com a definição Γ(1) = 1 isto gera a equação
    $\Gamma (n+1)=n!\qquad \forall n\in \mathbb {N} ,n\geq 1.$
Devido a este relacionamento, a função gama é frequentemente tida como uma generalização da função fatorial para o domínio dos números complexos. Isso é justificado pelas seguintes razões:
* Significado compartilhado — a definição canônica da função factorial é o relacionamento recursivo mencionado, compartilhado por ambos.
* Unicidade — a função gama é a única função que satisfaz o relacionamento recursivo mencionado para o domínio dos números complexos e é holomórfica e cuja restrição ao eixo positivo real é convexa no log. Ou seja, é a única função que poderia ser uma generalização da função fatorial.
* Contexto — a função gama é geralmente usada num contexto similar ao dos factoriais (mas, é claro, onde um domínio mais geral for de interesse).

### Multifactoriais

Uma notação relacionada comum é o uso de múltiplos pontos de exclamação para simbolizar um multifactorial, o produto de inteiros em passos de dois (n!!), três (n!!!), ou mais.
n!! denota o factorial duplo de n e é definido recursivamente por
    $n!!=\left\{{\begin{matrix}1,\qquad \quad \ &&{\mbox{se }}n=0{\mbox{ ou }}n=1;\\n(n-2)!!&&{\mbox{se }}n\geq 2.\qquad \qquad \end{matrix}}\right.$
Por exemplo, 8!! = 2 · 4 · 6 · 8 = 384 e 9!! = 1 · 3 · 5 · 7 · 9 = 945. A sequência de factoriais duplos para n = 0, 1, 2,... é :1, 1, 2, 3, 8, 15, 48, 105, 384, 945, 3840, ...
Algumas identidades envolvendo factoriais duplos são:
    $n!=n!!(n-1)!!$
    $(2n)!!=2^{n}n!$
    $(2n+1)!!={(2n+1)! \over (2n)!!}={(2n+1)! \over 2^{n}n!}$
    $\Gamma \left(n+{1 \over 2}\right)={\sqrt {\pi }}{(2n-1)!! \over 2^{n}}$
Deve-se ser cuidadoso para não interpretar n!! como o factorial de n!, que deveria ser escrito (n!)! e é um número muito maior (para n>2).
O factorial duplo é a variante mais comumente usada, mas pode-se definir o factorial triplo do mesmo modo (n!!!) e assim por diante. Em geral, o k-ésimo factorial, notado por n!$^{(k)}$, é definido recursivamente como
    $n!^{(k)}=\left\{{\begin{matrix}1,\qquad \qquad \ &&{\mbox{se }}0\leq n<k;\\n(n-k)!^{(k)},&&{\mbox{se }}n\geq k.\quad \ \ \,\end{matrix}}\right.$

### Hiperfactoriais

Ocasionalmente o hiperfactorial de n é considerado. É escrito como H(n) e definido por
    $H(n)=\prod _{k=1}^{n}k^{k}=1^{1}\cdot 2^{2}\cdot 3^{3}\cdots (n-1)^{n-1}\cdot n^{n}$
Para n = 1, 2, 3, 4,... os valores de H(n) são 1, 4, 108, 27648,...
A função hiperfactorial é similar à factorial, mas produz números maiores. A taxa de crescimento desta função, contudo, não é muito maior que um factorial regular.

### Superfactoriais

Neil Sloane e Simon Plouffe definiram o superfactorial em 1995 como o produto dos primeiros n fatoriais. Assim, o superfatorial de 4 é
    $\mathrm {sf} (4)=1!\times 2!\times 3!\times 4!=288$
No geral,
    $\mathrm {sf} (n)=\prod _{k=1}^{n}k!=\prod _{k=1}^{n}k^{n-k+1}=1^{n}\cdot 2^{n-1}\cdot 3^{n-2}\cdots (n-1)^{2}\cdot n^{1}.$
A sequência de superfatoriais começa (de n=0) como:
    1, 1, 2, 12, 288, 34560, 24883200, ... (sequência A000178 na OEIS)
Esta ideia pode ser facilmente estendida para superduperfatorial como o produto dos primeiros n superfactoriais (iniciando com n=0), assim
    1, 1, 2, 24, 6912, 238878720, 5944066965504000, ... (sequência A055462 na OEIS)
e aí em diante, recursivamente para todos os fatoriais múltiplos, onde o m-factorial de n é o produto dos primeiros n (m-1)-factoriais, i.e.
    $\mathrm {mf} (n,m)=\mathrm {mf} (n-1,m)\mathrm {mf} (n,m-1)=\prod _{k=1}^{n}k^{n-k+m-1 \choose n-k}$
onde $\mathrm {mf} (n,0)=n$ para $n>0$ e $\mathrm {mf} (0,m)=1$.

### Hiperfatoriais (definição alternativa)

Clifford Pickover, no seu livro Keys to Infinity, de 1995, define o superfactorial de n, escrito comodidade n$ (o $ deveria, na verdade, ser um sinal de fatorial ! com um S sobrepusto) como
    $n\$=n^{(4)}n$
onde a notação científica $^{(4)}$ denota o operador hyper4, ou usando a notação da seta de Knuth,
    $n\$=(n!)\uparrow \uparrow (n!)$
Esta sequência de superfatoriais começa quando se usa:
    $1\$=1$
    $2\$=2^{2}=4$
    $3\$=6\uparrow \uparrow 6=6^{6^{6^{6^{6^{6}}}}}$

## Fatoração prima de fatoriais

A potência de p que ocorre na fatoração prima de n! é
    $\sum _{i=1}^{\infty }\left\lfloor {\frac {n}{p^{i}}}\right\rfloor$
Esta fórmula permite que fatoriais grandes sejam fatorados eficientemente.
O Teorema de Wilson diz que (p-1)! + 1 é um múltiplo de p se, e somente se, p for um número primo.

## Algoritmo

Um exemplo clássico do cálculo de fatorial na linguagem de programação C/Java