ForHosting KIT · Utilidades de desarrollo

Calculadora de expansión de Engel para fracciones

Esta calculadora de expansión de Engel convierte cualquier número racional positivo en su representación exacta como suma de productos.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Introduzca una fracción, por ejemplo 4/13, y obtendrá la secuencia no decreciente de denominadores de Engel, los términos de fracciones unitarias correspondientes y una versión normalizada de la entrada. Todo el cálculo usa aritmética de enteros, por lo que las aproximaciones decimales periódicas y el redondeo de coma flotante no pueden alterar el resultado. Resulta útil para estudiar teoría de números, preparar ejemplos resueltos, comprobar cálculos simbólicos y crear pruebas de software reproducibles.

Qué representa una expansión de Engel

Una expansión de Engel expresa un número real positivo como una suma cuyos denominadores son productos acumulados. Si la lista obtenida es a1, a2, a3, el valor representado es 1/a1 + 1/(a1 a2) + 1/(a1 a2 a3), y el mismo patrón continúa con cada entrada posterior. Para una entrada racional positiva, el proceso termina; por tanto, la calculadora devuelve una lista y una expresión finitas. Los denominadores no disminuyen, lo que confiere a la representación su estructura ordenada característica. No es lo mismo que una descomposición egipcia común: ambas emplean fracciones unitarias, pero la expansión de Engel condiciona cada término nuevo al producto de todos los denominadores elegidos hasta ese momento. La salida incluye tanto la lista de denominadores, práctica para cálculos o código, como los términos desarrollados de la suma de productos. La fracción se reduce al principio, de modo que entradas equivalentes como 8/26 y 4/13 generan la misma fracción normalizada y la misma expansión.

Cómo funciona el algoritmo exacto

El cálculo parte del valor racional positivo actual p/q y elige como siguiente denominador el techo de q/p. La selección se realiza mediante división entera, sin convertir la fracción en decimal. Después, el residuo se transforma según la recurrencia de Engel: p se sustituye por a multiplicado por p menos q, se conserva q y la fracción resultante se reduce mediante su máximo común divisor. Cuando el nuevo numerador es cero, la expansión ha terminado; de lo contrario, se repiten los pasos. Como numeradores, denominadores, techos, productos y reducciones usan enteros de precisión arbitraria, la respuesta continúa siendo exacta incluso si los valores superan el rango entero seguro de JavaScript. La implementación rechaza texto mal formado, cero, valores negativos y denominadores nulos, en lugar de adivinar la intención. También limita el tamaño de la entrada y la longitud de la expansión para mantener una ejecución predecible. Así, una misma fracción válida siempre produce los mismos datos matemáticos.

Cómo interpretar y usar el resultado

Consulte primero el campo de denominadores cuando necesite la secuencia canónica de Engel. Sus elementos son cadenas para conservar con exactitud enteros muy grandes al atravesar sistemas JSON que no representan de forma segura todos los números. El campo de longitud indica cuántos denominadores y, por tanto, cuántos términos de fracción unitaria aparecen. El campo de expansión multiplica acumulativamente los denominadores elegidos y muestra cada recíproco, lo que facilita verificar la suma de manera independiente con aritmética racional. Para enseñar el método, compare cada denominador con la regla del techo y calcule el residuo después de cada paso. Para pruebas de software, use la fracción normalizada y el arreglo de denominadores como resultados estables; incluya entradas equivalentes sin reducir para comprobar la normalización. La capacidad solo admite fracciones positivas: no calcula expansiones infinitas de decimales irracionales, no interpreta números mixtos ni aproxima valores de coma flotante. Por API, cada solicitud cuesta $0.002. El navegador y la API comparten el mismo solucionador puro.

Comprobar un ejercicio de teoría de números

Compare una secuencia de Engel obtenida a mano con el resultado exacto y revise los términos de productos acumulados.

Crear vectores de prueba deterministas

Genere resultados esperados estables para bibliotecas de aritmética racional sin depender de aproximaciones de coma flotante.

Explicar representaciones racionales

Muestre cómo la recurrencia del techo convierte una fracción positiva en una expansión ordenada como suma de productos.

¿Qué formato de entrada se admite?

Use dos enteros positivos en base 10 separados por una barra, como 4/13. Se permiten espacios alrededor y un signo más opcional.

¿Puedo introducir cero o una fracción negativa?

No. Una entrada con numerador o denominador no positivo devuelve un error de entrada no válida.

¿Por qué los denominadores se devuelven como cadenas?

Las cadenas conservan exactamente los enteros de precisión arbitraria cuando el resultado se codifica como JSON.

¿Es lo mismo que una expansión en fracciones egipcias?

No exactamente. Los términos de Engel tienen denominadores formados por productos acumulados de una secuencia no decreciente, una restricción estructural adicional.

¿La calculadora usa aproximaciones decimales?

No. El análisis, los techos, las reducciones por máximo común divisor y los productos usan aritmética entera exacta.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/numth/engel-expansion

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/numth/engel-expansion \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fraction":"4/13"}'
{
  "fraction": "4/13"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.engel_expansion",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →