Existe uma fórmula geral para isso:
http://latex.codecogs.com/gif.latex?\dpi{150}&space;N&space;=&space;\sum_{k=1}^{\infty&space;}&space;\left&space;\lfloor&space;\frac{n}{5^{k}}&space;\right&space;\rfloor<http://latex.codecogs.com/gif.latex?\dpi{150}&space;N&space;=&space;\sum_{k}^{\infty&space;}&space;\left&space;\lfloor&space;\frac{n}{5^{k}}&space;\right&space;\rfloor>

N = quantidade de zeros em n!
N = somatório de k=1 até infinito de (aproxima para baixo (n/5^k))

Ou seja, para 1500 fatorial seria:
1500/5 = 300
1500/25 = 60
1500/125 = 12
1500/625 = 2.4 => 2
1500/3125 = 0.4 => 0
....
N = 300 + 60 + 12 + 2 + 0 + 0 + 0 + ... = 374

Agora vou tentar explicar porque essa forma funciona.
A chave para entender a fórmula é perceber que os multiplos de 2 são mais
comuns do que os de 5.
Em um produto de inteiros, a única forma de aparecer 0 na terminação é
multiplicar por 10 = 5x2, explicita ou implicitamente.
Mas,
2x5 = 10
4x25 = 100
8x125 = 1000
16x625 = 10000
...
2^n x 5^n = 10^n
Como em o fatorial é um produtório, você teria de contar quantos pares 2ˆn x
5ˆn você acha.
Os 2 são desnecessários no caso do fatorial, pois sempre existirão e
sobrarão multiplos de 2 em relação aos de 5.
O Fato de que você vai somando as divisões por 5^n é que os produtos de 4x25
produz 2 zeros, 8x125 produz 3 zeros, logo você precisa contar estes mais de
uma vez, no caso, n vezes.
Isso contudo não é uma prova, apenas um feeling e uma explicação que espero
que esteja clara.

Victor Seixas Souza

Reply via email to