

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 |
Tabla de contenidos |
[editar] Definición
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.
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
[editar] Doble factorial
De manera similar, se define
y por la expresión anterior,
[editar] Implementación en lenguajes de programación
[editar] Factorial
[editar] BASIC
'Función Factorial usando recursividad Public Function Factorial(ByVal num As Integer) As Integer If num = 1 Or num = 0 Then Return 1 Else Return num * Factorial(num - 1) End If End Function 'Función Factorial usando un ciclo For .. Next Public Function Factorial(ByVal num As Integer) As Integer Dim I As Long Dim Fact As Integer = 1 If num = 0 Then Return 1 Else For I = 1 To num Fact *= I Next Return Fact End If End Function
[editar] BASIC
factorial = 1 FOR i = 1 TO n factorial = factorial * i NEXT
[editar] Bash
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 }
[editar] C
int factorial(int n) { if(n == 0) return 1; else return factorial(n-1)*n; }
[editar] Borland Delphi
program MyFact; {$APPTYPE CONSOLE} uses SysUtils; function Factorial( Numero: Integer): Integer; var i, s: Integer; begin s := 1; if(Numero <> 0) then begin for i := Numero downto 1 do s := s * i; end; Result := s; end; var n, x : Integer; begin Write('Por favor introduzca numero: '); Readln(n); x := Factorial(n); WriteLn('El factorial de "' + IntToStr(n) + '" es: ' + IntToStr(x)); Readln; end.
[editar] Java (Applet)
import java.util.*; import java.io.*; import java.math.*; public class factorial { public static double factorial(double n){ if(n!=0){ return(n+factorial(n-1)); } public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.print("introduce el numero: "); double n = sc.nextDouble(); System.out.print("El factorial es: "+factorial(n)); } } GMO
[editar] Python
def factorial(n): if n == 0: return 1 else: return n*factorial(n-1)
[editar] Ruby
def factorial(n) if n == 0 1 else n * factorial(n-1) end end
[editar] Enlaces externos