[aviso]
Este texto trata do fatorial de um número. Se você busca notícias sobre o resgate dos mineiros do Chile, passe para o próximo texto dos seus feeds. Se você não tem um perfil nerd nem gosta de matemática, pule para o próximo texto dos seus feeds. Você foi avisado!
[/aviso]
Introdução
Primeiro de tudo, vejamos a definição do fatorial de um número inteiro e positivo (n!):
"Na matemática, o factorial (português europeu) ou fatorial (português brasileiro) de um número natural n, representado por n!, é o produto de todos os inteiros positivos menores ou iguais a n. A notação n! foi introduzida por Christian Kramp em 1808." (Fonte: Wikipedia)
O fatorial de um número aparece, em matemática básica, nos problemas de contagem (Combinações, arranjos e permutações, entre outros). E é algo que sempre me fascinou...
Por exemplo: De quantas maneiras diferentes, 33 mineiros presos numa mina, podem ser resgatados 1 a 1? De 33! maneiras :-)
Curiosidades no Cálculo do Fatorial
A maior parte das calculadoras científicas só calcula o fatorial até 69! No Google e em algumas calculadoras científicas (a que tem no meu Android (RealCalc), por exemplo) só calculam até 170!
Clique aqui para ver o fatorial de 170! no Google
Se você precisa (quem precisa realmente disto?) calcular um fatorial maior que 170 vá para o potente Wolfram.
Clique aqui para calcular o fatorial de 100000000000000!
Como você pode viver até hoje sem saber o resultados deste fatorial? :-)
[Atualização]
A explicação sobre esta limitação para o cálculo do fatorial, por algumas calculadoras, é dada pelo João Felipe Mitre num comentário aqui no blogue, que tomei a liberdade de colocar aqui o texto:
"Essa limitação dos programas clássicos de computador está associado ao valor máximo da
representação do número real ser da ordem de 10^308.
E sendo 171! maior que 10^309, esse resultado não pode ser facilmente representado em máquinas 32 bits.
Alguns programas ultrapassam o limite teórico (32 ou 64 bits) utilizando-se de operações especiais (que se não me engano, fazem as contas por partes, dando ao problema precisão arbitrária - tempo computacional arbitrário também :-) - não sei de mais detalhes sobre isso, apesar de já ter usado na prática)".
Mais detalhes:
http://pt.wikilingue.com/ca/Precis%C3%A3o_dupla
[/atualização]