Factorial
De Wikipedia, la enciclopedia libre
n n!
0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5.040
8 40.320
9 362.880
10 3.628.800
15 1.307.674.368.000
20 24.32.902.008.176.640.000
25 15.511.210.043.330.985.984.000.000
50 3,04140932… × 1064
70 1,19785717… × 10100
450 1,73336873… × 101.000
3.249 6,41233768… × 1010.000
25.206 1,205703438… × 10100.000
100.000 2,8242294079… × 10456.573
Para todo número natural n, se llama n factorial o factorial de n al producto de todos los naturales desde 1 hasta n:
Que de un modo resumido, se puede expresar como:
Se define 0! = 1, para que la relación n! = n × (n − 1)! sea también válida para n = 1. Esta relación permite definir los factoriales por recursividad. La notación n! fue popularizada por el matemático francés Christian Kramp.
Los factoriales se usan mucho en la rama de la matemática llamada combinatoria, a través del binomio de Newton, que da los coeficientes de la forma desarrollada de (a + b)n:
(a + b)n = an + n × an − 1 × b + Cn, 2 × an − 2 × b2 + … + n × a × bn − 1 + bn con:
Por medio de la combinatoria, los factoriales intervienen en el cálculo de las probabilidades. Intervienen también en el ámbito del análisis, en particular a través del desarrollo polinomial de las funciones (fórmula de Taylor). Se generalizan a los reales con la función gamma, de gran importancia en el campo de la aritmética.
Para valores grandes de n, existe una expresión aproximada para el factorial de n, dado por la fórmula de Stirling:
La ventaja de esta fórmula es que no precisa inducción y, por lo tanto, permite evaluar n! más rápidamente cuando mayor sea n.
El factorial de n es generalizado para cualquier número real n por la Función gamma de manera que
Productos similares [editar]
Primorial [editar]El primorial sucesión A002110 en OEIS se define de forma similar al factorial, pero sólo se toma el producto de los números primos menores o iguales que n.
Doble factorial [editar]Se define el doble factorial de n como:
Por ejemplo, 8!! = 2 · 4 · 6 · 8 = 384 y 9!! = 1 · 3 · 5 · 7 · 9 = 945. La sucesión de dobles factoriales sucesión
1, 1, 2, 3, 8, 15, 48, 105, 384, 945, 3840, … La definición anterior puede extenderse para definir el doble factorial de números negativos:
Y esta es la sucesión de dobles factoriales para :
El doble factorial de un número negativo par no está definido.
Algunas identidades de los dobles factoriales:
Implementación en lenguajes de programación [editar]
Factorial [editar]
Bash [editar]declare -i FACTORIAL
function factorial {
declare -i N=$1
if [ $N -eq 0 ]; then
FACTORIAL=1
else
factorial $N-1
FACTORIAL=$N*$FACTORIAL
fi
return
}
C [editar]#include <stdio.h> int factorial(int, int); int main() { int n; printf(“Introduce numero: “); scanf(“%d”,&n); printf(“El factorial es: %d\n”,factorial(1,n)); }
int factorial(int t,int n) { if (n==0)
return t;
else {
t *= n; return(factorial(t,n-1));
} }
Perl [editar]sub factorial {
my $n = shift;
return 1 unless $n;
return $n * factorial($n - 1)
}
Python [editar]def factorial(n): return reduce(lambda x,y:x*y, xrange(1,n+1))
Ruby [editar] def factorial(n)
if n == 0
1
else
n * factorial(n-1)
end
end
Fortran [editar]program factorial factorial=(n) if (factorial.eq.0) then factorial=1 else factorial=1 do i=1,n
factorial=factorial*i
end do end if stop end
Java [editar]Forma Iterativa
public int algoritmoFactorial(int n) {
int factorial = 1;
for(int i=1; i<=n; i++) {
factorial *= i;
}
return factorial;
}
Forma Recursiva
public int algoritmoFactorial(int n) {
if (n == 1 || n == 0) {
return 1;
} else {
return n * algoritmoFactorial(n - 1);
}
Por: José Felipe Sánchez Díaz