Comprobar un número altamente compuesto
Un número altamente compuesto tiene más divisores positivos que cualquier entero positivo menor.
Ejecutar — gratis
Este verificador aplica esa definición estricta de récord al valor que usted indique; no se limita a decidir si posee muchos factores o si es compuesto. Devuelve la cantidad de divisores del número elegido, el mayor recuento alcanzado por un valor anterior y un resultado directo verdadero o falso. Estos datos permiten revisar la decisión en clases, estudios de sucesiones enteras, ejercicios de programación y procesos de validación.
Qué significa superar la prueba
Un número solo cumple la condición cuando su cantidad de divisores positivos es estrictamente mayor que la de todos los enteros positivos menores. La palabra «estrictamente» es esencial: si un valor anterior ya alcanzó el mismo recuento, el valor posterior no establece un récord nuevo y el verificador responde que no. Por tanto, esta prueba busca poseedores de récord en la sucesión de cantidades de divisores, y no la distinción habitual entre números primos y compuestos. El entero positivo 1 está incluido: tiene un divisor positivo y no existe ningún entero positivo menor al que deba superar, por lo que constituye el primer récord según la definición utilizada. El resultado muestra divisor_count para el valor enviado y max_smaller_divisor_count para la mejor marca anterior. La comparación de ambos campos explica el valor booleano sin obligar a aceptar una etiqueta sin fundamento. Esto resulta especialmente útil al estudiar sucesiones de récords, donde un número puede tener una factorización notable y, aun así, fallar porque otro entero anterior igualó o superó su cantidad de divisores.
Cómo obtiene una respuesta determinista
El algoritmo crea una tabla exacta con la cantidad de divisores de cada entero positivo desde 1 hasta el valor solicitado. Recorre cada divisor posible e incrementa el contador de todos sus múltiplos, la misma relación que se expresa al decir que un divisor divide a un número sin dejar resto. Una vez completa la tabla, el verificador examina todas las entradas anteriores al valor solicitado y conserva el mayor recuento encontrado. El número enviado es altamente compuesto exactamente cuando su propio recuento supera ese máximo previo. No intervienen pruebas probabilísticas de primalidad, aproximaciones, bases de datos remotas, elecciones aleatorias ni valores dependientes del reloj. Por ello, una entrada idéntica produce el mismo JSON en el navegador y mediante la API. La implementación admite enteros positivos seguros y texto formado únicamente por dígitos. Rechaza fracciones, texto no numérico, valores inferiores a uno y entradas por encima del límite declarado. Ese límite mantiene previsibles tanto el uso de memoria como los ciclos aritméticos anidados en el navegador o en el entorno de ejecución.
Cómo interpretar y utilizar los campos
Comience por is_highly_composite, que contiene la decisión principal. Cuando es verdadero, divisor_count es necesariamente mayor que max_smaller_divisor_count, lo que demuestra que la entrada estableció un récord nuevo. Cuando es falso, el máximo anterior es igual o superior al recuento de la entrada; por tanto, el número no satisface la definición aunque tenga muchos factores. La respuesta también repite n, lo que permite que registros y trabajos por lotes mantengan cada decisión vinculada con su valor de origen. En una lección sobre sucesiones, envíe enteros consecutivos y observe cómo el máximo permanece fijo hasta que aparece otro récord. En pruebas de software, compruebe tanto el booleano como los dos recuentos para impedir que una regresión quede oculta tras una etiqueta aparentemente correcta. En procesos de datos, trate una respuesta de entrada no válida como un incumplimiento del contrato, no como un resultado matemático: cero y los enteros negativos están fuera del dominio. Cada solicitud de API cuesta $0.002, mientras que la versión del navegador se ejecuta localmente. Ninguna modalidad consulta bases numéricas externas ni modifica o almacena el entero enviado.
Qué puede hacer con ella
Explorar sucesiones de récords de divisores
Pruebe enteros positivos consecutivos e identifique con exactitud dónde aparece un nuevo récord de cantidad de divisores.
Revisar ejercicios de matemáticas
Verifique una afirmación sobre un número altamente compuesto y examine los recuentos que justifican la decisión.
Validar candidatos generados
Añada una comprobación determinista de récord al código que propone candidatos a partir de factorizaciones o sucesiones enteras.
Preguntas frecuentes
¿Qué es un número altamente compuesto?
Es un entero positivo con estrictamente más divisores positivos que cualquier entero positivo menor.
¿Sirve un empate con un número anterior?
No. La entrada debe superar el récord previo de cantidad de divisores; igualarlo no basta.
¿Se considera que 1 es altamente compuesto?
Sí, según la definición utilizada aquí. Tiene un divisor y no existe ningún entero positivo menor que pueda disputar ese primer récord.
¿Qué entradas se admiten?
Indique un entero positivo entre 1 y 1,000,000. El solucionador compartido también admite texto formado únicamente por dígitos.
¿Cuánto cuesta una solicitud de API?
Cada solicitud de API cuesta $0.002. El mismo verificador determinista está disponible 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/highly-composite-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/highly-composite-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/highly-composite-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/highly-composite-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/highly-composite-check", 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": 12
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.highly_composite_check",
"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_n | 1000000 |
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. |