quarta-feira, 12 de setembro de 2012

Um pouco de aritmética básica: quanto é mesmo “253!” ?

Fonte: http://www.autonomiaedu.com.br

Para quem está meio esquecido, o símbolo “!” é usado para indicar o fatorial de um número inteiro positivo, por exemplo: 5! = 1x2x3x4x5 = 120. Ok, e qual o problema de calcular o fatorial de 253? Bom, provavelmente a calculadora não consegue fazer esse cálculo! Qual o motivo? Simples: o fatorial de um número cresce muito rapidamente. Tem um crescimento mais que exponencial. Isso pode ser visualizado nas figuras abaixo*.
Para números pequenos a função exponencial tem um crescimento maior que as funções fatorial e quadrática.
Para valores maiores que 6, a função fatorial tem um crescimento muito superior à função exponencial.
* nos gráficos foi usada a função gama que calcula o fatorial para valores inteiros, ver aqui sobre essa função.

Muito bem, e qual o fatorial de um valor "grande"? Não existe? Claro que existe, mas não pode ser calculado simplesmente usando-se a operação de multiplicação e calculadora, a não ser que você seja um savant matemático (ver aqui também o que é um savant) e tenha bastante papel para escrever o resultado. Mas como podemos calcular, por exemplo, o fatorial de 253? É "fácil", basta usar logaritmos e somar. Claro que fazer isso à mão continua sendo problemático.

Solução. O código Scilab abaixo pode calcular o fatorial de números realmente grandes:

N = 253;
ns=1:N;
sn=sum(log10(ns));
ep = fix(sn);
mt = 10^(sn-ep);
printf('O fatorial de %d é igual a %f x10^%d',N,mt,ep);
 
Ah, e o fatorial de 253 é igual a 5,173461 x 10499. Tente escrever esse número sem usar notação científica!

Nenhum comentário:

Postar um comentário