Comprobador de números perniciosos por bits uno
Cuente los unos de un número en binario y vea si esa cantidad es prima: 13 es 1101 en binario, con 3 unos, así que es pernicioso. Las potencias de dos tienen un solo uno y nunca lo son. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- N
- 13
- Binario
- 1101
- Cantidad de unos
- 3
Un número pernicioso es un entero positivo cuya representación binaria contiene una cantidad prima de bits iguales a uno. Este comprobador convierte su entrada decimal a base dos de forma exacta, cuenta los unos, determina si esa pequeña cantidad es prima y devuelve cada resultado intermedio junto con una clasificación clara. Es útil para ejercicios de teoría de números, exploración de sucesiones, pruebas de programación y validación de datos. Los valores inferiores a uno se rechazan para evitar una clasificación ambigua.
Qué convierte un entero en pernicioso
La definición consta de dos pasos precisos. Primero, escriba el entero positivo n en base dos sin ceros iniciales. Después, cuente cuántos dígitos de esa representación son unos; esta cantidad también se denomina peso de Hamming.
El entero n es pernicioso exactamente cuando dicho conteo es primo. Por ejemplo, trece se escribe 1101: contiene tres unos y, como tres es primo, trece es pernicioso. Quince se escribe 1111 y tiene cuatro unos; cuatro es compuesto, por lo que quince no es pernicioso.
Las potencias de dos, como ocho, solo tienen un uno y no son perniciosas porque uno no es primo. Los dos campos booleanos coinciden intencionadamente: el primero describe la prueba matemática y el segundo ofrece la clasificación directa. Solo se admiten enteros positivos; cero y los negativos producen un error de validación.
Dónde resulta útil este comprobador
Los números perniciosos conectan de forma sencilla la aritmética entera, la representación binaria, la combinatoria y la primalidad. En clase, esta herramienta confirma conversiones hechas a mano y muestra suficientes datos para localizar un error. También permite filtrar listas antes de estudiar distancias, residuos o intersecciones con otras sucesiones.
Un equipo de datos puede comparar la cadena binaria y el conteo producidos por otro sistema con este resultado determinista. Tampoco afirma que n sea primo: un compuesto puede ser pernicioso si su cantidad de unos es prima, y un primo puede no serlo. Separar ambas preguntas evita una interpretación equivocada.
Qué puede hacer con ella
Revisar ejercicios de teoría de números
Confirme la conversión decimal a binario, el conteo de unos y la clasificación perniciosa en una respuesta.
Probar una función de conteo de bits
Utilice resultados deterministas como casos de prueba para código de población de bits o sucesiones perniciosas.
Filtrar conjuntos de enteros
Clasifique enteros positivos antes de analizar patrones, distancias o cruces con otras sucesiones.
Preguntas frecuentes
¿Qué es un número pernicioso?
Es un entero positivo cuya representación binaria contiene una cantidad prima de bits iguales a uno.
¿Es uno un número pernicioso?
No. Uno se escribe 1 en binario, tiene un único bit uno y el número uno no es primo.
¿Un número pernicioso tiene que ser primo?
No. La primalidad se aplica al conteo de bits uno, no al propio valor n; puede ser compuesto.
¿Qué entradas se rechazan?
Se rechazan valores ausentes, inferiores a uno, fracciones, notación científica, cadenas no decimales y enteros no seguros.
¿Es 13 un número pernicioso?
Sí. En binario 13 se escribe 1101, que contiene tres unos. Tres es primo, así que 13 es pernicioso. El resultado muestra la forma binaria y el conteo para que lo compruebe a mano.
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/pernicious-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":13}'const res = await fetch("https://api.kit.forhosting.com/numth/pernicious-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 13
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/pernicious-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 13
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/pernicious-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":13}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":13}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/pernicious-number", 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": 13
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.pernicious_number",
"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
Qué convierte un entero en pernicioso
La respuesta muestra binary, one_count, one_count_is_prime y pernicious para que usted pueda revisar la conversión y cada etapa del cálculo, no solo un resultado booleano.
Cómo enviar la entrada e interpretar la salida
Se admite un signo más inicial en una cadena, pero se rechazan puntos decimales, notación exponencial, prefijos hexadecimales, comas y espacios internos. Tras validar, el motor convierte el valor a BigInt y genera su representación de base dos, lo que conserva cada bit incluso cerca del límite. Luego recorre la cadena binaria una vez y suma cada uno. Un entero seguro tiene como máximo 53 dígitos binarios significativos, por lo que la prueba de primalidad es diminuta: descarta cantidades menores que dos, trata el dos, elimina los pares y prueba divisores impares hasta la raíz cuadrada. Envíe n como entero JSON exacto o como cadena decimal simple. El nombre preferido es n, aunque number y value funcionan como alias para formularios y conjuntos de datos existentes. El intervalo termina en el máximo entero seguro de JavaScript, de modo que la entrada pueda devolverse como número JSON sin redondeo. Consulte binary para la conversión, one_count para el conteo y pernicious para la respuesta final. No hay red, azar, reloj ni estado mutable, así que una misma entrada siempre produce el mismo JSON.
Dónde resulta útil este comprobador
En ejercicios de programación, su JSON estable sirve como oráculo para probar funciones de conteo de bits, analizadores de enteros o generadores de sucesiones. Cada solicitud correcta de la API cuesta $0.002; el uso interactivo en el navegador es gratuito. La herramienta clasifica un entero por solicitud y no genera intervalos sin límite, manteniendo predecibles el tiempo y el coste.
Preguntas técnicas
¿Cuánto cuesta la API?
Cada solicitud correcta de la API cuesta $0.002. La versión interactiva del navegador es gratuita.