Calculadora de fracciones continuas

  1. Alpertron
  2. Programas
  3. Calculadora de fracciones continuas

Acciones
Funciones

Esta aplicación Web obtiene el desarrollo en fracciones continuas de números racionales e irracionalidades cuadráticas.

Cualquier número real x se puede representar de manera única mediante la fracción continua:

"x igual a a sub 0 más 1 sobre a sub 1 más 1 sobre a sub 2 más 1 sobre a sub 3 más etcétera

donde a1, a2, a3, ... son números enteros mayores que cero. Una representación más compacta es:

x es igual a a sub 0 más doble barra a sub 1, a sub 2, a sub 3, etcétera doble barra

Si el número a representar es racional, hay una cantidad finita de términos en la fracción continua. Si el número es una irracionalidad cuadrática de la forma fracción donde el numerador es a más la raíz cuadrada de b y el denominador es c , entonces la fracción continua es periódica. Esta calculadora puede encontrar el desarrollo en fracciones continuas de números racionales e irracionalidades cuadráticas. Aparte de los coeficientes an, el programa permite hallar los convergentes An/Bn. Este cociente es la mejor aproximación racional al argumento x con denominador menor o igual que Bn y equivale al valor que se obtiene desarrollando solo los primeros n coeficientes de la fracción continua.

Puede escribir números o expresiones numéricas en las cajas de entrada.

La calculadora acepta números de hasta 10000 dígitos.

Si necesita que la raíz cuadrada reste al número de la izquierda, simplemente cambie el signo de a y c.

Si b es negativo, el resultado no es un número real, así que no se podrá representar como fracción continua.

La calculadora puede hallar todos los coeficientes y los numeradores y denominadores de los convergentes para números racionales. En el caso de irracionalidades cuadráticas, la calculadora se detiene después de hallar el convergente número 100000 si el período es más largo. Si se muestran convergentes,

Expresiones

Se pueden entrar expresiones que usen los siguientes operadores y paréntesis:

  • + para suma
  • - para resta
  • * para multiplicación
  • / para división entera
  • % para el resto de la división entera
  • ^ o ** para exponenciación (el exponente debe ser mayor o igual que cero).
  • <, ==, >; <=, >=, != para comparaciones. Los operadores devuelven cero si es falso y -1 si es verdadero.
  • Ans: obtiene la última respuesta.
  • AND, OR, XOR, NOT para lógica binaria. Las operaciones se hacen en binario (base 2). Se agregan infinitos ceros (unos) a la izquerda de los números positivos (negativos).
  • SHL o <<: Si b ≥ 0, a SHL b desplaza el valor a a la izquierda la cantidad de bits especificada por b. Esto equivale a a × 2b. En caso contrario, a SHL b desplaza el valor a a la derecha la cantidad de bits especificada por −b. Esto equivale a floor(a / 2b). Ejemplo: 5 SHL 3 = 40.
  • SHR o >>: Si b ≥ 0, a SHR b desplaza el valor a a la derecha la cantidad de bits especificada por b. Esto equivale a floor(a / 2b). En caso contrario, a SHR b desplaza el valor a a la izquierda la cantidad de bits especificada por −b. Esto equivale a a × 2b. Ejemplo: -19 SHR 2 = -5.
  • n!: factorial (n debe ser mayor o igual que cero). Ejemplo: 6! = 6 × 5 × 4 × 3 × 2 = 720.
  • n!! ... !: factorial múltiple (n debe ser mayor o igual que cero). Es el producto de n por nk por n2k ... (todos los números son mayores que cero) donde k es la cantidad de signos de exclamación. Ejemplo: 7!! = 7 × 5 × 3 × 1 = 105.
  • p#: primorial (producto de todos los primos menores o iguales a p). Ejemplo: 12# = 11 × 7 × 5 × 3 × 2 = 2310.
  • B(n): Número probablemente primo anterior a n. Ejemplo: B(24) = 23.
  • F(n): Número de Fibonacci Fn que corresponde a la secuencia 0, 1, 1, 2, 3, 5, 8, 13, 21, etc. donde cada elemento es igual a la suma de los dos anteriores. Ejemplo: F(7) = 13.
  • L(n): Número de Lucas Ln = Fn-1 + Fn+1
  • N(n): Número probablemente primo posterior a n. Ejemplo: N(24) = 29.
  • P(n): particiones irrestrictas (cantidad de descomposiciones de n en sumas de números enteros sin tener en cuenta el orden). Ejemplo: P(4) = 5 porque el número 4 se puede particionar de 5 formas distintas: 4 = 3+1 = 2+2 = 2+1+1 = 1+1+1+1.
  • Gcd(m,n, ...): Máximo común divisor de estos números enteros. Ejemplo: GCD(12,16) = 4.
  • Lcm(m,n, ...): Mínimo común múltiplo de estos números enteros. Ejemplo: LCM(12,16,24) = 48.
  • Modinv(m,n): inverso de m modulo n, sólo válido cuando m y n son coprimos, es decir que no tienen factores en común. Ejemplo: Modinv(3,7) = 5 porque 3 × 5 ≡ 1 (mod 7)
  • Modpow(m,n,r): halla mn módulo r. Ejemplo: Modpow(3, 4, 7) = 4, porque 34 ≡ 4 (mod 7).
  • Jacobi(m,n): obtiene el símbolo de Jacobi de m y n. Cuando el segundo argumento es primo, el resultado es cero si m es múltiplo de n, es uno si hay una solución a x² ≡ m (mód n) y es igual a −1 cuando la congruencia mencionada no tiene soluciones.
  • Random(m,n): número entero aleatorio entre m y n.
  • Abs(n): valor absoluto de n.
  • IsPrime(n): retorna cero si n no es un primo probable y -1 si lo es. Ejemplo: IsPrime(5) = -1.
  • Sqrt(n): parte entera de la raíz cuadrada del argumento.
  • Iroot(n,r): Raíz r-ésima entera del primer argumento. Ejemplo: Iroot(8, 3) = 2.
  • NumDigits(n,r): cantidad de dígitos de n en base r. Ejemplo: NumDigits(13, 2) = 4 porque 13 en binario (base 2) se expresa como 1101.
  • SumDigits(n,r): suma de dígitos de n en base r. Ejemplo: SumDigits(213, 10) = 6 porque la suma de los dígitos expresados en decimal es 2+1+3 = 6.
  • RevDigits(n,r): halla el valor que se obtiene escribiendo para atrás los dígitos de n en base r. Ejemplo: RevDigits(213, 10) = 312.

Puedes usar el prefijo 0x para números hexadecimales, por ejemplo 0x38 es igual a 56.

Algoritmos utilizados

El cálculo de los coeficientes de la fracción continua de un número racional se realiza de la siguiente manera:

  1. Obtener el primer coeficiente como la parte entera del cociente entre el numerador y el denominador.
  2. Sustraer al numerador el producto del denominador y el coeficiente recién hallado.
  3. Mientras el numerador no sea cero:
    1. Intercambiar el numerador y el denominador.
    2. Obtener el siguiente coeficiente como la parte entera del cociente entre el numerador y el denominador.
    3. Sustraer al numerador el producto del denominador y el coeficiente recién hallado.

Se usa el algoritmo PQa para calcular los coeficientes en el caso de irracionalidades cuadráticas, que son cocientes entre numerador + delta y denominador.

  1. Repetir indefinidamente:
    1. Obtener el coeficiente como la parte entera del cociente entre numerador + delta y el denominador.
    2. Sustraer al numerador el producto del coeficiente recién hallado y el denominador.
    3. Cambiar de signo al numerador.
    4. Calcular un resultado auxiliar como la diferencia entre delta y el cuadrado del numerador.
    5. Reemplazar el denominador por el cociente entre el resultado auxiliar anterior y el denominador.

En base a los coeficientes, se pueden calcular los numeradores Ai y denominadores Bi de los convergentes mediante las siguientes operaciones:

  1. Inicializar el numerador del convergente actual y anterior con los valores 1 y 0 respectivamente.
  2. Inicializar el denominador del convergente actual y anterior con los valores 0 y 1 respectivamente.
  3. Por cada coeficiente obtenido:
    1. Calcular un resultado auxiliar como el producto del coeficiente por el numerador del convergente actual.
    2. Obtener el próximo numerador como la suma del resultado auxiliar y el numerador del convergente anterior.
    3. Mostrar el valor recién hallado.
    4. Reemplazar el numerador del convergente anterior por el actual.
    5. Reemplazar el numerador del convergente actual por el próximo.
    6. Realizar los cinco pasos anteriores reemplazando numerador por denominador.

Código fuente

Se puede bajar el código fuente de este programa y el del viejo applet de fracciones continuas desde GitHub. El código fuente está escrito en lenguaje C, por lo que es necesario Emscripten para generar JavaScript.

Escrito por Dario Alpern. Actualizado el 8 de junio de 2023.

Si encuentra algún error o tiene algún comentario, por favor llene el formulario.

Si le gustan estas calculadoras y desea soportar el software libre sin propagandas molestas, puede donar a través de PayPal.