Calculadora de secuencia alícuota
Una secuencia alícuota comienza con un entero positivo y sustituye repetidamente cada término por la suma de sus divisores positivos propios.
Ejecutar — gratis
Esta calculadora realiza la iteración de forma determinista, muestra todos los términos alcanzados y se detiene al agotar el límite de pasos, llegar a cero o detectar un valor repetido. Un límite seguro estricto protege el cálculo frente a términos intermedios demasiado grandes y permite usar el resultado en experimentos, clases y validaciones reproducibles.
Elija el valor inicial y comprenda cada transición
Introduzca un entero positivo como start y seleccione un step_limit entre 1 y 100. El valor inicial siempre ocupa la primera posición. Cada transición sustituye el último término por su suma alícuota, es decir, la suma de todos sus divisores positivos menores que él. Por ejemplo, los divisores propios de 12 son 1, 2, 3, 4 y 6; el siguiente término es 16. Los de 16 son 1, 2, 4 y 8, por lo que después aparece 15. El límite cuenta transiciones, no valores mostrados: diez pasos producen como máximo once términos. Puede haber menos si surge una condición de parada. Así, el esfuerzo solicitado queda claro y el resultado se compara fácilmente con cálculos manuales u otras implementaciones. En integraciones API, n, number o value pueden indicar el inicio, y steps puede indicar el límite.
Interprete la terminación y los ciclos
El resultado contiene la secuencia completa, las transiciones realizadas y una etiqueta de terminación. step_limit indica que se completaron todos los pasos solicitados. zero señala que se alcanzó cero, algo habitual después de 1 porque 1 no tiene divisores positivos propios. cycle significa que el nuevo valor ya había aparecido. El valor repetido se conserva al final para mostrar el ciclo, mientras cycle_start_index señala su posición anterior, empezando desde cero. Por ello, un número perfecto crea de inmediato un bucle: con 6 se obtiene 6, 6 y el índice es cero. Cuando no hay ciclo, cycle_start_index vale -1. La detección evita gastar pasos en repeticiones, pero conserva la información necesaria para reconstruir la parte periódica y distinguirla del tramo inicial.
Trabaje con términos grandes de forma segura
El valor inicial no puede superar el límite seguro publicado de un billón, y cada término generado se comprueba antes de incorporarlo. Si una suma alícuota intermedia rebasa ese límite, la solicitud devuelve un error de entrada no válida que identifica la transición problemática. La calculadora no recorta, redondea ni sustituye silenciosamente el valor, pues alteraría la secuencia matemática. Cada suma se obtiene mediante factorización entera determinista y la fórmula multiplicativa de la suma de divisores. No hay red, azar, hora actual ni estado guardado: una misma entrada produce siempre la misma salida en el navegador y en la API. Para explorar un inicio desconocido, use primero pocos pasos y amplíelos si los términos siguen siendo manejables. El precio de la API es $0.002 por solicitud; los límites explícitos acotan el trabajo.
Qué puede hacer con ella
Explorar teoría de números
Siga un entero mediante sumas sucesivas de divisores propios y observe si llega a cero, entra en ciclo o continúa.
Comprobar ejercicios didácticos
Compare una secuencia de un estudiante o manual con una lista determinista que informa de las transiciones realizadas.
Probar software matemático
Use una salida estable y acotada como referencia para validar otra implementación o un flujo de datos.
Preguntas frecuentes
¿Qué es una secuencia alícuota?
Es una secuencia donde cada término nuevo equivale a la suma de los divisores positivos propios del término anterior.
¿El límite de pasos incluye el número inicial?
No. Cuenta transiciones; diez pasos pueden mostrar como máximo once términos, incluido el inicial.
¿Por qué puede detenerse antes del límite?
Se detiene al alcanzar cero o un valor ya visto, porque después solo habría cero o repeticiones cíclicas.
¿Qué ocurre si un término es demasiado grande?
La solicitud falla con un error de entrada no válida, sin devolver una secuencia parcial o numéricamente insegura.
¿Cuánto cuesta una solicitud API?
Cada solicitud API cuesta $0.002. La misma lógica determinista también funciona en el 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/aliquot-sequence \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":12,"step_limit":10}'const res = await fetch("https://api.kit.forhosting.com/numth/aliquot-sequence", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": 12,
"step_limit": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/aliquot-sequence",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": 12,
"step_limit": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/aliquot-sequence", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":12,"step_limit":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":12,"step_limit":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/aliquot-sequence", 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
{
"start": 12,
"step_limit": 10
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.aliquot_sequence",
"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.
Límites
max_term | 1000000000000 |
max_steps | 100 |
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. |