Factorial
De Wikipedia, la enciclopedia libre
|
Para todo número natural n, se llama n factorial o factorial de n al producto de todos los naturales entre 1 y 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.
Existe un equivalente, cuando n tiende al infinito, del 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 (aunque en forma aproximada) cuando mayor sea n.
El factorial de n es generalizado para cualquier número real n por la Función gamma de manera que
Tabla de contenidos |
[editar] Doble factorial
De manera similar, se define
Los dobles factoriales, se relacionan con el factorial de la sigiente manera:
- Si n = 2k,
- Si n = 2k + 1,
- y por la expresión anterior,
[editar] Implementaciones del factorial
[editar] Mathhematica
fact[0] = 1; fact[n_] := n f[n-1]
[editar] Implementación del Algoritmo en C con funciones By ELiTe
By ELiTe
- include <stdio.h>
- include <conio.h>
int factorial(int n2);
main() {
int n,x; printf("Introduzca numero: "); scanf("%d",&n); x=factorial(n); printf("el factorial de %d es: %d",n,x); getch();
}
int factorial(int n2) {
int i,s; s=1; if (n2!=0)
{
for (i=n2;i>=1;i--) { s=s*i; } } return(s);
}
[editar] Implementación del Algorítmo en Winpseudo V1.4
INICIO Programa21 - "Factorial de x" VAR numerico x numerico f numerico i string PTR FIN-VAR leer (x) f = 1 PTR = UNIR(NL, x, "! = 1") Imprimir (PTR) i = 1 MIENTRAS (i <= x) f = f * i imprimir "x" imprimir entero(i) i = i + 1 FIN-MIENTRAS imprimir " = " imprimir (f) FINAL
[editar] Enlaces externos
- Algoritmos interesantes
- http://factorielle.free.fr
- Algoritmo del Factorial - En Turbo Pascal
- Algoritmo del Factorial - En C/C++