public static class JMEMath.TeoriaNumeros
extends java.lang.Object
Constructor and Description |
---|
TeoriaNumeros() |
Modifier and Type | Method and Description |
---|---|
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 int[] |
digitos(java.math.BigInteger b,
int base)
Calcula las frecuencias de dígitos de un entero en la base especificada
|
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 |
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 java.math.BigInteger |
gcd(java.math.BigInteger... nums)
GCD Máximo Común Divisor (MCD) para múltiples números enteros
|
static double |
horner(double[] coef,
double x)
Algoritmo de Horner para evaluar polinomios de forma óptima
|
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 long |
pc(long n)
Función prime counting (PC)
|
static java.lang.Double[] |
poliRaicesRacionales(long... coef)
Encuentra las raíces enteras y racionales de un polinomio de coeficientes enteros
|
static double |
pow2(long n)
Potencia entera de 2
|
static double[] |
ruffini(double[] coef,
double quizasRaiz)
Aplica la regla de Ruffini a los coeficientes de un polinomio dado un valor de factorización
por (x-r) y devuelve el polinomio cociente y el resto (último valor)
|
public static double pow2(long n)
n
- exponente (Para n>57 se pierde exactitud)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 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 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
nums
- array de númerosJMEInterruptedException
- si el hilo se interrumpepublic 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 double horner(double[] coef, double x) throws java.lang.IllegalArgumentException, JMEInterruptedException
coef
- array de coeficientes del polinomio de mayor grado a término independientex
- punto de evaluaciónjava.lang.IllegalArgumentException
- si el vector de coeficientes está vacíoJMEInterruptedException
- si el hilo se interrumpepublic static double[] ruffini(double[] coef, double quizasRaiz) throws java.lang.IllegalArgumentException, JMEInterruptedException
coef
- vector de coeficientes realesquizasRaiz
- coeficiente r del divisor (x-r)
. Si es raíz la
división será exactajava.lang.IllegalArgumentException
- si el vector de coeficientes está vacíoJMEInterruptedException
- si el hilo se interrumpepublic static java.lang.Double[] poliRaicesRacionales(long... coef) throws java.lang.IllegalArgumentException, JMEInterruptedException
coef
- array de coeficientes del polinomio de mayor grado a término independientejava.lang.IllegalArgumentException
- si el vector de coeficientes está vacío o el primer
coeficiente es ceroJMEInterruptedException
- si el hilo se interrumpepublic 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 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 interrumpe