Diferencia entre revisiones de «Factorial»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Diegusjaimes (discusión · contribs.)
m Revertidos los cambios de 189.161.182.240 a la última edición de Rodrigo
Línea 82: Línea 82:


== Productos similares ==
== Productos similares ==
=== Primorial ===
El [[primorial]] {{OEIS|A002110}} se define de forma similar al factorial, pero sólo se toma el producto de los [[número primo|números primos]] menores o iguales que ''n''.

=== Doble factorial ===
Se define el doble factorial de ''n'' como:
:<math>
n!!=
\begin{cases}
1,&\mbox{si }n=0\mbox{ o }n=1;
\\
n\times(n-2)!! &\mbox{si }n\ge2.\qquad\qquad
\end{cases}
</math>

Por ejemplo, 8!! = 2 · 4 · 6 · 8 = 384 y 9!! = 1 · 3 · 5 · 7 · 9 = 945. La sucesión de dobles factoriales {{OEIS|id=A006882}} para <math>n = 0, 1, 2, \dots</math> empieza así:
: 1, 1, 2, 3, 8, 15, 48, 105, 384, 945, 3840, ...
: 1, 1, 2, 3, 8, 15, 48, 105, 384, 945, 3840, ...



Revisión del 18:05 16 mar 2010

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 30.414.093.201.713.378.043 × 1045
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

Primorial

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

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 A006882 en OEIS) para empieza así:

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

A continuación se presentan dos implementaciones de la función factorial en distintos lenguajes de programación. La primera, en Fortran, es iterativa, es decir, realiza un bucle en el que se multiplica una variable temporal por cada número natural entre 1 y n, mientras que la otra (en C) es recursiva, por lo que la función factorial se llama a sí misma con un argumento cada vez menor hasta llegar al caso base 0!=1.

! Factorial en Fortran 90 - implementación iterativa
function factorial(n)
    integer, intent(in) :: n
    integer :: factorial
    integer :: i
    factorial = 1
    do i = 2, n
        factorial = factorial * i
    end do
end function
! Uso
write (*,*) factorial(5)
! 120
// Factorial en C99 - implementación recursiva
unsigned int factorial(unsigned int n) {
    if (n > 0)
        return n * factorial(n-1);
    else return 1;
}
// Uso
printf("%u", factorial(5));
// 120
# Factorial en python como implementación recursiva.
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)
# Uso
print factorial(5)
# 120

Véase también

Enlaces externos