public static class JMEMath.Combinatoria
extends java.lang.Object
Constructor and Description |
---|
Combinatoria() |
Modifier and Type | Method and Description |
---|---|
static java.math.BigInteger |
coeficienteMultinomial(long[] ni)
Calcula el coeficiente multinomial a partir de los coeficientes.
|
static java.math.BigInteger |
combinaciones(long m,
long n)
Combinaciones de m elementos tomados de n en n
|
static java.math.BigInteger |
factorial(java.math.BigInteger n)
Factorial para BigInteger
|
static double |
factorial(double x)
factorial de un nº real (NaN para enteros negativos)
|
static double |
factorial(long n)
Factorial para Long
|
static double |
factorialAlternado(int n)
Factorial alternado (A005165)
|
static java.math.BigInteger |
factorialAlternadoBig(long n)
Factorial alternado exacto (A005165)
|
static double |
factorialDoble(long n)
Factorial doble para enteros positivos y negativos impares
|
static double |
hiperfactorial(int n)
Hiperfactorial (A002109)
|
static java.math.BigInteger |
hiperfactorialBig(long n)
Hiperfactorial exacto
|
static double |
primorial(long n)
Primorial de un natural
|
static java.math.BigInteger |
primorialBig(long n)
Primorial exacto de un natural
|
static java.math.BigInteger |
subfactorial(java.math.BigInteger n)
Subfactorial exacto usando fórmula recursiva
¡n=n(n-1)¡+(-1)^n |
static double |
subfactorial(long n)
Subfactorial [n!
|
static double |
superFactorial(int n)
Superfactorial de Sloane y Plouffe (A000178)
|
static java.math.BigInteger |
superFactorialBig(long n)
Superfactorial exacto de Sloane y Plouffe (A000178)
|
public static double factorial(double x)
x
- x:R/Z-factorial(long)
,
factorial(BigInteger)
public static double factorial(long n)
n
- n>=0
factorial
,
factorial(BigInteger)
public static java.math.BigInteger factorial(java.math.BigInteger n) throws JMEInterruptedException
n
- n>=0
JMEInterruptedException
- si el hilo se interrumpefactorial
,
factorial
public static double factorialDoble(long n)
n
- para n>300
devuelve Infinity. Exacto hasta 30!!public static double subfactorial(long n)
n
- n>=0
. Exacto para n<=18
.
Infinity para n>170
subfactorial(BigInteger)
public static java.math.BigInteger subfactorial(java.math.BigInteger n) throws JMEInterruptedException, java.lang.StackOverflowError
¡n=n(n-1)¡+(-1)^n
n
- n>=0
JMEInterruptedException
- si el hilo se interrumpejava.lang.StackOverflowError
- algoritmo recursivosubfactorial
public static double factorialAlternado(int n)
n
- n>=0
. Exacto para n <=18
.
Infinity para n>170
factorialAlternadoBig(long)
public static java.math.BigInteger factorialAlternadoBig(long n) throws JMEInterruptedException
n
- n>=0
JMEInterruptedException
- si el hilo se interrumpefactorialAlternado
public static double superFactorial(int n)
n
- n>=0. Exacto para n≥9
.
Infinity para n>26
superFactorialBig(long)
public static java.math.BigInteger superFactorialBig(long n) throws JMEInterruptedException
n
- n>0
JMEInterruptedException
- si el hilo se interrumpesuperFactorial
public static double hiperfactorial(int n)
n
- n>=0
. Exacto para n<=7
.
Infinity para n>22
hiperfactorialBig(long)
public static java.math.BigInteger hiperfactorialBig(long n) throws JMEInterruptedException
n
- n>=0
JMEInterruptedException
- si el hilo se interrumpehiperfactorial
public static double primorial(long n) throws JMEInterruptedException
n
- n>=0
. Exacto para n<=46
.
Infinity para n>742
JMEInterruptedException
- si el hilo se interrumpeprimorialBig(long)
public static java.math.BigInteger primorialBig(long n) throws JMEInterruptedException
n
- n>=0
JMEInterruptedException
primorial
public static java.math.BigInteger combinaciones(long m, long n) throws JMEInterruptedException
m
- nº de elementosn
- tamaño muestraJMEInterruptedException
- si el hilo está interrumpidopublic static java.math.BigInteger coeficienteMultinomial(long[] ni)
(n;n1,n2,...,n_N), con n=n1+n2+...+n_N
ni
- array de coeficientes (no puede ser vacío).
El array se modificará (ordenado ascendentemente)