Calculadora de longitud de cadenas factoriales de dígitos
Una cadena de factoriales de dígitos comienza con un entero no negativo, lo sustituye por la suma de los factoriales de sus cifras decimales y repite la operación hasta que aparece por segunda vez un valor.
Ejecutar — gratis
Esta calculadora devuelve el número de valores distintos visitados antes de esa primera repetición. Así puede explorar de forma rápida y exacta este proceso clásico de teoría de números sin evaluar manualmente cada factorial ni revisar toda la sucesión para detectar un ciclo.
Cómo se forma una cadena de factoriales de dígitos
Comience con el entero no negativo que desee examinar. Separe sus cifras decimales, calcule el factorial de cada una y sume esos factoriales. El resultado se convierte en el valor siguiente y se vuelve a aplicar exactamente la misma regla. Por ejemplo, al comenzar con 69 se obtiene 6! + 9!, que equivale a 363600. Al procesar las cifras de ese resultado se genera el valor posterior, y la cadena continúa del mismo modo. La calculadora recuerda todos los valores encontrados. En cuanto el resultado siguiente ya ha aparecido, el proceso ha entrado en un ciclo y el cálculo termina. La longitud indicada cuenta únicamente los valores distintos visitados, incluido el número inicial, pero no vuelve a contar la aparición repetida. Esta convención permite comparar valores iniciales sin ambigüedad. El cero se trata como una cifra decimal por derecho propio, por lo que 0! equivale a 1. En ningún momento se aplican redondeos ni aproximaciones.
Cómo interpretar la longitud devuelta
El resultado ofrece una sola longitud y no toda la sucesión intermedia. Responde a la cuestión principal: ¿cuántos términos distintos aparecen antes de que comience una repetición? Imagine una cadena que alcanza un valor visto varios pasos antes. Cada término hasta su primera aparición suma uno a la longitud, mientras que la segunda aparición señala el punto de parada y no añade otra unidad. Esta definición abarca tanto puntos fijos como ciclos más largos. Si un valor se transforma directamente en sí mismo, forma una cadena de longitud uno cuando se utiliza como inicio. Si el comienzo pasa primero por varios valores y finalmente llega a ese punto fijo, se cuentan todos los valores diferentes del recorrido. Dos enteros iniciales pueden converger en la misma ruta posterior y aun así tener longitudes distintas porque sus prefijos exclusivos difieren. El algoritmo emplea aritmética exacta de enteros seguros, valida la entrada y registra cada pertenencia de forma explícita, sin depender de un límite de iteraciones supuesto ni de un atajo matemático.
Cómo utilizar la calculadora con fiabilidad
Introduzca un entero seguro no negativo en el campo n. Se exigen números enteros porque las fracciones decimales no presentan la sucesión de cifras prevista para esta operación, y los números negativos quedan fuera del dominio definido. La versión del navegador resulta práctica para experimentos individuales, demostraciones didácticas y comprobaciones mientras estudia las cadenas factoriales. La API sirve cuando un programa necesita comparar varias entradas elegidas, preparar ejercicios o verificar resultados obtenidos en otro lugar; cada solicitud cuesta $0.002. El cálculo es determinista: un mismo entero siempre devuelve la misma longitud, sin llamadas de red, aleatoriedad, hora actual ni datos externos. Aunque al principio la transformación pueda producir un número mayor, las sumas de factoriales de cifras entran pronto en una región finita y acotada; por ello, registrar los valores visitados ofrece una condición natural de terminación. Para lograr resultados reproducibles, conserve la entrada y la longitud, e indique que la aparición repetida queda excluida al comparar con fuentes que usen otra convención.
Qué puede hacer con ella
Explorar sucesiones de teoría de números
Mida cuánto avanza un valor inicial antes de que su proceso de factoriales de dígitos alcance un término repetido.
Comprobar ejercicios didácticos
Verifique una cadena calculada manualmente y confirme que sus términos distintos se hayan contado con un criterio uniforme.
Comparar valores iniciales elegidos
Consulte la API para un conjunto de enteros y compare las longitudes de sus cadenas en un experimento reproducible.
Preguntas frecuentes
¿Qué cuenta exactamente la longitud?
Cuenta los valores distintos desde el entero inicial hasta el último valor nuevo anterior a la primera repetición. La aparición repetida no se vuelve a contar.
¿Se incluye el número inicial?
Sí. El entero inicial es el primer valor distinto de la cadena y aporta una unidad a la longitud devuelta.
¿Cómo se trata la cifra cero?
El cero aporta 0!, que equivale a 1. Por tanto, un valor inicial igual a cero continúa con uno.
¿Puede n ser negativo o fraccionario?
No. La entrada debe ser un entero seguro no negativo. Los valores negativos y fraccionarios generan un error de entrada no válida.
¿Cuánto cuesta una solicitud de API?
Cada solicitud de API cuesta $0.002. También puede ejecutar la calculadora directamente en su navegador.
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/digit-factorial-chain \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":69}'const res = await fetch("https://api.kit.forhosting.com/numth/digit-factorial-chain", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 69
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/digit-factorial-chain",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 69
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/digit-factorial-chain", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":69}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":69}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/digit-factorial-chain", 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": 69
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.digit_factorial_chain",
"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. |