public static class JMEMath.TeoriaNumeros
extends java.lang.Object
Constructor and Description |
---|
TeoriaNumeros() |
Modifier and Type | Method and Description |
---|---|
static java.util.List<java.math.BigInteger> |
adigitos(java.math.BigInteger bi,
java.math.BigInteger base)
Devuelve los digitos de un entero en forma de lista en la base especificada
|
static java.math.BigInteger |
aliquot(java.math.BigInteger n)
Suma alícuota
|
static long |
aliquot(long n)
Suma alícuota
|
static java.math.BigInteger |
catalan(long n)
Enésimo nº de Catalan, C(2n,n)/(n+1)
|
static double |
cortes(long n)
Devuelve el enésimo número cortés
|
static int |
cortesia(java.math.BigInteger n)
Cortesía de un natural.
|
static int |
cortesia(long n)
cortesía de un natural.
|
static int[] |
digitos(java.math.BigInteger b,
int base)
Calcula las frecuencias de dígitos de un entero en la base especificada
|
static java.math.BigInteger |
digitSum(java.math.BigInteger b,
java.math.BigInteger base) |
static java.util.List<java.math.BigInteger> |
divisores(java.math.BigInteger n)
Divisores de un BigInteger
|
static java.util.List<java.lang.Long> |
divisores(long n)
Divisores de un long
|
static boolean |
esCortes(java.math.BigInteger n)
Comprueba si un número es cortés (no potencia de dos)
|
static boolean |
esPrimo(long n)
Función auxiliar para la comprobación de primalidad para long.
|
static java.util.List<java.lang.Long[]> |
factoresPrimos(long n)
Lista de factores primos de un long
|
static java.math.BigInteger[] |
floatAFraccion(java.math.BigDecimal x,
java.math.BigDecimal precision)
Convierte flotante a fracción
|
static java.math.BigInteger[] |
floatAMixta(java.math.BigDecimal x,
java.math.BigDecimal precision)
Convierte flotante a fracción mixta
|
static VectorEvaluado |
fraccionContinua(java.math.BigDecimal x,
java.math.BigDecimal precision)
Fracción continua
|
static RealGrande |
fraccionContinuaANumero(VectorEvaluado fraccion,
java.math.BigDecimal precision) |
static double |
fsigma(long n)
Función sigma o función "suma de divisores"
|
static double |
funcionDivisor(long n,
double exp)
Función divisor (S=sum{divisor^exp})
|
static java.math.BigInteger |
gcd(java.math.BigInteger... nums)
GCD Máximo Común Divisor (MCD) para múltiples números enteros
|
static boolean |
harshad(java.math.BigInteger n,
java.math.BigInteger base)
Comprueba si un número es de Harshad/Niven en la base especificada
|
static long |
indicatrizEuler(long n)
Función indicatriz de Euler
|
static java.math.BigInteger |
isqrt(java.math.BigInteger n)
Método de Newton para raíz cuadrada entera
|
static java.math.BigInteger |
lcm(java.math.BigInteger... nums)
LCM mínimo común múltiplo (mcm) para múltiples números enteros
|
static double |
numeroArmonico(long n)
Enésimo número armónico
|
static java.math.BigDecimal |
numeroArmonico(long n,
java.math.MathContext mc)
Enésimo número armónico
|
static boolean |
pandigital(java.math.BigInteger n,
boolean restringido,
boolean sinCeros,
int base)
Comprueba si un número es pandigital en la base especificada
|
static long |
pc(long n)
Función prime counting (PC)
|
static long |
pc(long a,
long b)
Función contadora de primos (prime-counting)
|
static Complejo[] |
raices(Complejo z,
int n)
Devuelve todas las raíces de un número complejo
z1/n |
public static java.util.List<java.lang.Long> divisores(long n) throws JMEInterruptedException
n
- n>0
JMEInterruptedException
- si el hilo se interrumpepublic static java.util.List<java.math.BigInteger> divisores(java.math.BigInteger n) throws JMEInterruptedException
n
- n>0
JMEInterruptedException
- si el hilo se interrumpepublic static double fsigma(long n) throws JMEInterruptedException
n
- n != 0JMEInterruptedException
- si el hilo se interrumpepublic static double funcionDivisor(long n, double exp) throws JMEInterruptedException
n
- n != 0exp
- exponente del divisorJMEInterruptedException
- si el hilo se interrumpepublic static java.util.List<java.lang.Long[]> factoresPrimos(long n) throws JMEInterruptedException
n
- número a factorizar n>0
JMEInterruptedException
- si el hilo se interrumpepublic static boolean esPrimo(long n) throws JMEInterruptedException
n
- el nº a comprobar primalidadJMEInterruptedException
- si el hilo se interrumpepublic static long pc(long n) throws JMEInterruptedException
n
- enteroJMEInterruptedException
- si el hilo se interrumpepublic static long pc(long a, long b) throws JMEInterruptedException
a
- extremo inferior (incluido)b
- extremo superior (incluido)JMEInterruptedException
- si el hilo se interrumpepublic static int[] digitos(java.math.BigInteger b, int base) throws JMEInterruptedException
b
- enterobase
- base del nº (el tamaño del array de salida es igual a la base)JMEInterruptedException
- si el hilo se interrumpepublic static java.math.BigInteger isqrt(java.math.BigInteger n) throws JMEInterruptedException
n
- entero positivoJMEInterruptedException
public static java.math.BigInteger gcd(java.math.BigInteger... nums) throws JMEInterruptedException
nums
- array de númerosJMEInterruptedException
- si el hilo se interrumpepublic static java.math.BigInteger lcm(java.math.BigInteger... nums) throws JMEInterruptedException, java.lang.ArithmeticException
nums
- array de númerosJMEInterruptedException
- si el hilo se interrumpejava.lang.ArithmeticException
- división por ceropublic static java.math.BigInteger[] floatAFraccion(java.math.BigDecimal x, java.math.BigDecimal precision) throws java.lang.Exception
x
- númeroprecision
- error máximo (defecto: 1E-12)java.lang.Exception
- error o interrupción del hilofloatAMixta(BigDecimal, BigDecimal)
public static java.math.BigInteger[] floatAMixta(java.math.BigDecimal x, java.math.BigDecimal precision) throws java.lang.Exception
x
- númeroprecision
- error máximo (defecto: 1E-12)java.lang.Exception
- error o interrupción del hilofloatAFraccion
public static Complejo[] raices(Complejo z, int n) throws JMEInterruptedException, java.lang.NegativeArraySizeException
z1/n
z
- radicando complejon
- >0z1/n=r*exp((a+2pi*k)/n)
para k en [0,n)
JMEInterruptedException
- si el hilo se interrumpejava.lang.NegativeArraySizeException
- n<0public static long indicatrizEuler(long n) throws JMEInterruptedException
n
- número naturalJMEInterruptedException
- si el hilo se interrumpepublic static double numeroArmonico(long n) throws JMEInterruptedException
n
- número naturalJMEInterruptedException
- si el hilo se interrumpenumeroArmonico(long, MathContext)
public static java.math.BigDecimal numeroArmonico(long n, java.math.MathContext mc) throws JMEInterruptedException, java.lang.ArithmeticException
n
- número naturalmc
- contexto matemáticoJMEInterruptedException
- si el hilo se interrumpejava.lang.ArithmeticException
- -numeroArmonico
public static java.math.BigInteger catalan(long n) throws JMEInterruptedException
n
- natural n>=0
n>=0
JMEInterruptedException
- si el hilo se interrumpepublic static boolean harshad(java.math.BigInteger n, java.math.BigInteger base) throws JMEInterruptedException, java.lang.IllegalArgumentException
n
- enterobase
- base > 1
JMEInterruptedException
- si el hilo se interrumpejava.lang.IllegalArgumentException
- base <= 1
public static double cortes(long n)
n
- n>0
public static boolean esCortes(java.math.BigInteger n)
n
- n>0
public static int cortesia(long n) throws JMEInterruptedException
n
- n>0
JMEInterruptedException
- si el hilo se interrumpepublic static int cortesia(java.math.BigInteger n) throws JMEInterruptedException
n
- n>0
JMEInterruptedException
- si el hilo se interrumpepublic static boolean pandigital(java.math.BigInteger n, boolean restringido, boolean sinCeros, int base) throws JMEInterruptedException, java.lang.IllegalArgumentException
n
- número natural n>0
base
- base>1
restringido
- el número pandigital debe ser restringido (sin duplicados)sinCeros
- el número pandigital debe ser sin cerosJMEInterruptedException
- si el hilo se interrumpejava.lang.IllegalArgumentException
- base<2
public static long aliquot(long n) throws JMEInterruptedException
n
- n>0
JMEInterruptedException
- si el hilo se interrumpepublic static java.math.BigInteger aliquot(java.math.BigInteger n) throws JMEInterruptedException
n
- n>0
JMEInterruptedException
- si el hilo se interrumpepublic static VectorEvaluado fraccionContinua(java.math.BigDecimal x, java.math.BigDecimal precision) throws java.lang.Exception
java.lang.Exception
public static RealGrande fraccionContinuaANumero(VectorEvaluado fraccion, java.math.BigDecimal precision) throws java.lang.ClassCastException, java.lang.ArithmeticException, ExpresionException, JMEInterruptedException
java.lang.ClassCastException
java.lang.ArithmeticException
ExpresionException
JMEInterruptedException
public static java.util.List<java.math.BigInteger> adigitos(java.math.BigInteger bi, java.math.BigInteger base) throws java.lang.IllegalArgumentException, JMEInterruptedException
bi
- enterobase
- base>1
java.lang.IllegalArgumentException
- base<2
JMEInterruptedException
- si el hilo se interrumpepublic static java.math.BigInteger digitSum(java.math.BigInteger b, java.math.BigInteger base) throws java.lang.IllegalArgumentException, JMEInterruptedException
java.lang.IllegalArgumentException
- si base<=1JMEInterruptedException