Os Mineiros do Chile e o problema do Fatorial

[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]

  • J. F. Mitre
    Comentário de: J. F. Mitre
    14-10-10 @ 10:52:54

    Essa limitação dos programas clássicos de computador associado ao valor máximo do número em precisão dupla.
    1.7976931348623157 x 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, tornando 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


    ====

    Opa Mitre.

    Nada como ter amigos mais nerds do que você :-) Vou subir esta informação para o texto, com os devidos créditos.

    abs

  • J. F. mitre
    Comentário de: J. F. mitre
    15-10-10 @ 07:45:27

    Tá, mas uma informação precisa de uma correção.

    O 10^308 é a precisão dupla em 64-bits.

    O texto que tirei como referência é uma tradução desse outro aqui:
    http://en.wikipedia.org/wiki/Double_precision

    E como pode notar no original, deduz-se que trata-se do 64-bits, o que daria a minha explicação uma difícil compreensão. Na verdade, o limite 32-bits seria precisão quad.
    Como também existe uma tal de precisão estendida, acredito que a frase mais correta seria:

    Essa limitação dos programas clássicos de computador associado ao valor máximo da representação do número real ser da ordem de 10^308.

    E a segunda frase eu corrigiria de:

    E sendo 171! maior que 10^309, esse resultado não pode ser facilmente representado em máquinas 32 bits.

    Para:

    E sendo 171! maior que 10^309, esse número não pode ser representado utilizando as abordagens clássicas em 32-bits.

    Embora seja detalhes é sempre bom corrigir isso para evitar propagar o erro.

    Um abraço !

  • *****
    walber gonçalves
    Comentário de: walber gonçalves
    01-08-11 @ 23:10:25

    Preciso elaborar uma aula de fisica usando o ensino de CTS( ciências, tecnologia e socidade) e gostaria de ulitizar o resgate dos mineiros chilenos, na parte de movimentos (cinemática). Se vc tiver alguma idéia q possa compartilhar eu agradeço.

Deixe seu comentário

Seu endereço de e-mail não será revelado nesse site.

Sua URL será exibida.
PobreExcelente
(Quebras de linha se tornam <br />)
(Nome, e-mail & website)
(Permitir que usuários o contatem através de um formulário eletrônico (seu e-mail não será exibido.))
Endereço de trackback para este texto

http://sergioflima.pro.br/blogs/htsrv/trackback.php?tb_id=2035