Término Calkin–Wilf
El término 5 de la sucesión de Calkin-Wilf es 3/2, al que se llega desde la raíz 1/1 con un paso a la izquierda y otro a la derecha. Escriba una posición de 1 a mil millones y obtenga la fracción reducida y su camino. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- N
- 5
- Numerador
- 3
- Denominador
- 2
- Fracción
- 3/2
- Ruta
- LR
El árbol de Calkin–Wilf es un árbol binario completo cuyos nodos son exactamente los números racionales positivos, cada uno una sola vez y en forma irreductible. Si se recorre el árbol nivel a nivel (o se indexan los nodos en el orden natural de montículo binario que coincide con el camino binario de un entero positivo n) se obtiene una enumeración clásica de Q+: la sucesión de Calkin–Wilf. El índice uno es la fracción raíz uno entre uno; cada índice posterior sigue un único camino izquierda-derecha codificado por los dígitos binarios de n tras el bit uno inicial. Estudiantes de combinatoria enumerativa, matemática discreta y reconstrucción racional necesitan un oráculo rápido que devuelva numerador y denominador para un índice seguro arbitrario sin construir el árbol completo. Esta capacidad acepta un entero positivo n, recorre ese camino con unas pocas sumas enteras y devuelve la fracción reducida a/b junto con una cadena de camino y una fórmula breve.
Qué es la enumeración de Calkin–Wilf y cómo se define la n-ésima fracción
Neil Calkin y Herbert Wilf popularizaron un árbol binario notablemente simple de racionales positivos: la raíz es uno entre uno; el hijo izquierdo de una fracción a entre b es a entre (a más b); el hijo derecho es (a más b) entre b. Todo racional positivo aparece exactamente una vez, ya en términos mínimos, de modo que el árbol es a la vez una enumeración de Q+ y una forma canónica reducida de cada valor.
El índice natural n con base en uno etiqueta nodos por su posición en el orden de montículo binario completo: n igual a uno es la raíz, n igual a dos es el hijo izquierdo de la raíz (un medio), n igual a tres es el hijo derecho (dos entre uno), n igual a cuatro es el nieto izquierda-izquierda (un tercio), y así sucesivamente.
De forma equivalente, escriba n en binario, elimine el bit uno inicial que siempre marca la raíz e interprete cada bit restante de más a menos significativo como un movimiento: cero significa izquierda, uno significa derecha. Tras esos movimientos obtiene la única fracción reducida a/b en ese nodo. Una identidad clásica enlaza este recorrido con la sucesión diatómica de Stern s: la fracción de Calkin–Wilf en el índice n es s(n) entre s(n más uno).
Este extremo implementa el recorrido directo del árbol en lugar de una tabla Stern aparte, pero las respuestas coinciden con esa identidad para todo n positivo. Como cada paso solo suma dos enteros positivos, el algoritmo es determinista, ligero en memoria y libre de redondeo en coma flotante: ideal para oráculos de deberes, complementos LMS y cuadernos de investigación que necesitan numeradores y denominadores exactos en lugar de decimales aproximados.
Contrato de entrada, campos de respuesta y comportamiento ante errores
Los valores menores que uno —incluido cero y todo índice negativo— fallan con un mensaje claro de que el índice de Calkin–Wilf debe ser al menos uno; esos fallos de validación no se facturan.
En caso de éxito el cuerpo devuelve n, aporta numerator y denominator como enteros positivos, fraction como cadena numerador barra denominador, formula como reafirmación breve de las reglas de raíz e hijos más la regla del camino binario, y path como las letras L y R de los movimientos tras la raíz (o la palabra root cuando n es uno). Ejemplo: n igual a uno da la fracción uno barra uno y path root.
Ejemplo: n igual a cinco tiene binario uno cero uno, bits de camino cero y luego uno, así que izquierda y luego derecha desde uno entre uno da tres entre dos, path LR. Ejemplo: n igual a siete tiene path RR y fracción tres entre uno. Los clientes que solo necesitan el racional pueden leer fraction o el par de enteros; los tutores pueden mostrar path junto a la respuesta para que el alumnado audite cada paso.
Dónde resulta útil el término de Calkin–Wilf
Los cuadernos de investigación que exploran representaciones hiperbinarias, demostraciones de la función interrogación de Minkowski o estrategias de muestreo racional suelen necesitar un oráculo exacto y rápido de la n-ésima fracción de Calkin–Wilf manteniendo el resultado reducido por construcción. Las herramientas de ingeniería y educación que generan racionales de prueba positivos únicos para pruebas basadas en propiedades pueden obtener términos sucesivos por índice en lugar de inventar pares aleatorios no reducidos que luego exigen limpieza con gcd.
Mantenga las peticiones pequeñas, documente que n es un entero positivo que empieza en uno y trate numerator, denominator y fraction como campos canónicos de respuesta en comprobaciones automáticas.
Qué puede hacer con ella
Comprobaciones en aula y deberes
Permita que el alumnado envíe un índice positivo n y verifique la fracción de Calkin–Wilf a/b frente a las reglas de hijo izquierdo y derecho, con la cadena de camino visible para crédito parcial.
Calificación automática en LMS y exámenes
Puntúe ítems de enumeración de Calkin–Wilf con un oráculo determinista que rechaza n menor que uno y nunca inventa racionales no reducidos ni duplicados.
Racionales de prueba positivos únicos
Genere un flujo de racionales positivos reducidos y distintos por índice para pruebas basadas en propiedades sin llamar a gcd sobre pares aleatorios.
Preguntas frecuentes
¿Cómo obtengo la n-ésima fracción de Calkin–Wilf?
Envíe un entero positivo n (n ≥ 1).
¿Qué ocurre si n es cero o negativo?
El índice de Calkin–Wilf usado aquí es un entero positivo que empieza en uno; los valores menores que uno se rechazan y no se facturan.
¿La fracción devuelta está siempre reducida?
Sí. Todo nodo del árbol de Calkin–Wilf ya está en términos mínimos, de modo que numerator y denominator son coprimos para todo n válido.
¿En qué se diferencia de la sucesión de Stern–Brocot?
La sucesión diatómica de Stern devuelve un solo entero s(n). El término de Calkin–Wilf es el racional s(n)/s(n+1) (equivalente al recorrido del árbol anterior). La intención de búsqueda y la forma de salida difieren: fracción frente a valor diatómico.
¿Qué significa el camino de letras L y R?
Escriba n en binario y quite el 1 inicial: cada 0 restante es un paso a la izquierda y cada 1, un paso a la derecha desde la raíz. Para la posición 5, el binario 101 deja los dígitos 0 y 1, así que el camino es LR y termina en 3/2.
Herramientas relacionadas
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/numth/calkin-wilf-term \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/numth/calkin-wilf-term", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/calkin-wilf-term",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/calkin-wilf-term", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/calkin-wilf-term", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"n": 5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.calkin_wilf_term",
"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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Los índices menores que uno se rechazan con invalid_input para que calificadores y scripts no traten cero ni posiciones negativas como términos válidos.
Contrato de entrada, campos de respuesta y comportamiento ante errores
Envíe un cuerpo JSON con un único campo obligatorio n: un entero positivo mayor o igual que uno, como número JSON o como cadena de dígitos decimales, como máximo mil millones. Se aceptan los alias index y order con el mismo significado. Si falta n, hay cadenas vacías, no enteros, números no finitos o valores por encima del máximo, la petición falla con invalid_input indicando el problema. La implementación es parse pura de nivel A: sin red, sin tokens de modelo, sin sistema de archivos, y el mismo módulo puede ejecutarse en el camino gratuito del navegador y en el Worker de borde sin divergir.
Dónde aporta valor una API del término de Calkin–Wilf
Los cursos de combinatoria enumerativa y matemática discreta usan el árbol de Calkin–Wilf al enseñar biyecciones entre enteros positivos y racionales positivos, conexiones con fracciones continuas y comparaciones con el árbol de Stern–Brocot; una API pequeña permite a los complementos LMS comprobar respuestas de alumnado para un n arbitrario sin empaquetar un sistema completo de álgebra computacional. Como cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo ni red de salida, la validación fallida no consume saldo y el algoritmo es solo O(log n) sumas enteras, obtiene fracciones reproducibles para deberes, calificación y workers de borde sin infraestructura pesada de teoría de números.
Preguntas técnicas
¿Cuánto cuesta la calculadora del término de Calkin–Wilf?
La herramienta del navegador es gratuita. Las peticiones API usan saldo KIT prepago a $0.002 por llamada correcta; la entrada inválida no se factura.