Comprobar si un número es libre de cuadrados
El 30 es libre de cuadrados porque se descompone en 2 × 3 × 5, cada primo una sola vez; el 12 no lo es, porque el cuadrado de 2 lo divide. Escriba un entero positivo y obtenga un sí o un no con su motivo. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Un número libre de cuadrados no contiene ningún factor primo elevado al cuadrado: cada primo de su factorización aparece como máximo una vez. Esta herramienta ofrece una respuesta directa para cualquier entero positivo dentro del límite publicado. Si el número no cumple la condición, también indica un primo cuyo cuadrado divide la entrada, lo que permite verificar el motivo del resultado. El cálculo es determinista, no utiliza la red y considera que 1 es libre de cuadrados conforme a la definición matemática habitual.
Qué significa ser libre de cuadrados
Un entero positivo es libre de cuadrados cuando ningún número primo lo divide más de una vez. Dicho de otro modo, no debe existir un primo p cuyo cuadrado divida al entero. Por ejemplo, 30 cumple la condición porque su factorización prima es 2 × 3 × 5 y cada primo aparece una sola vez.
En cambio, 12 no la cumple porque se factoriza como 2² × 3; por tanto, el cuadrado de 2 lo divide. El número 1 constituye un caso límite importante: su factorización prima está vacía, así que no contiene primos repetidos y se considera libre de cuadrados. La herramienta aplica directamente esta definición.
El resultado contiene el valor original y el booleano squarefree. Esta prueba permite confirmar la respuesta fácilmente: eleve al cuadrado el primo indicado y divida entre ese valor el número original. Si el cociente es exacto, queda demostrado por qué la entrada no supera la comprobación, sin necesidad de obtener toda su factorización prima.
Cómo se realiza la comprobación
El algoritmo utiliza aritmética entera exacta y división de prueba con un límite definido. Comienza por el menor candidato a factor primo y examina los posibles factores en orden ascendente. Cuando un candidato divide al valor restante, el algoritmo elimina una copia y comprueba de inmediato si el mismo candidato vuelve a dividirlo.
Una segunda división significa que el cuadrado del candidato divide la entrada original; en ese momento ya se sabe que el número no es libre de cuadrados y el cálculo puede finalizar. Si solo aparece una copia, la búsqueda continúa sobre el resto reducido. No hace falta probar candidatos superiores a la raíz cuadrada de ese resto: cualquier resto compuesto debe tener un factor menor o igual que su raíz cuadrada, mientras que un resto mayor al final es un único factor primo.
El método no depende de pruebas probabilísticas de primalidad, tablas almacenadas, servicios externos ni aproximaciones de coma flotante. El límite publicado mantiene previsible el trabajo, y la validación de enteros seguros de JavaScript garantiza que cada división y cada resto representen exactamente el entero recibido.
Cómo usar e interpretar el resultado
Proporcione n como entero positivo, no como decimal, fracción, cadena en notación científica ni número con separadores de formato. Se rechazan los valores inferiores a 1 porque esta capacidad utiliza la definición habitual para enteros positivos. También se rechazan los valores superiores al máximo documentado para mantener acotada la ejecución.
Un resultado squarefree verdadero indica que el entero no contiene ningún factor primo al cuadrado, pero no significa que sea primo. Números como 6, 30 y 42 son compuestos y, aun así, libres de cuadrados, ya que cada uno de sus factores primos distintos aparece una sola vez. La entrada puede contener otros primos repetidos que no se muestran, pues basta con uno para decidir la propiedad.
Esta salida resulta adecuada para reglas de validación, experimentos de teoría de números y pasos de preparación que solo necesitan la clasificación. El algoritmo no envía la entrada a servicios de terceros.
Qué puede hacer con ella
Validar un conjunto de datos numéricos
Clasifique enteros positivos almacenados y señale las filas que contienen un factor primo al cuadrado antes de analizarlas.
Comprobar ejercicios de aritmética
Confirme si una respuesta propuesta es libre de cuadrados y use el primo repetido como explicación breve cuando no lo sea.
Filtrar secuencias generadas
Conserve solo los términos libres de cuadrados en un proceso determinista sin calcular ni guardar cada factorización completa.
Preguntas frecuentes
¿Es 1 libre de cuadrados?
Sí. El número 1 no tiene factores primos, por lo que ninguno aparece al cuadrado en su factorización.
¿Libre de cuadrados significa primo?
No. Un número compuesto puede ser libre de cuadrados si cada factor primo aparece una sola vez; 30 es un ejemplo.
¿Qué muestra el resultado cuando un número no es libre de cuadrados?
Indica un primo cuyo cuadrado divide a su número. Para el 12 ese primo es el 2, porque 4 cabe exactamente en 12. Ese único primo basta como prueba, sin necesidad de factorizar por completo.
¿Puedo comprobar un número decimal o negativo?
No. Solo se aceptan enteros positivos. Los valores menores que 1, los decimales, las fracciones, la notación científica y los números escritos con separadores de miles se rechazan en lugar de interpretarse.
¿Cómo se comprueba si un número es libre de cuadrados?
Se prueban los posibles factores primos de menor a mayor. Cada vez que uno divide al número, se quita una copia y se vuelve a probar el mismo; una segunda división significa que su cuadrado lo divide.
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/squarefree-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":30}'const res = await fetch("https://api.kit.forhosting.com/numth/squarefree-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/squarefree-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/squarefree-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/squarefree-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": 30
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.squarefree_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 | 1000000000000 |
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é significa ser libre de cuadrados
Cuando este es falso, repeated_prime indica un primo presente al menos dos veces.
Cómo se realiza la comprobación
La misma entrada produce siempre el mismo resultado JSON.
Cómo usar e interpretar el resultado
Un resultado falso incluye repeated_prime, aunque ese campo funciona como prueba y no como factorización completa. En el navegador se ejecuta localmente el mismo cálculo puro, mientras que una solicitud API cuesta $0.002.
Preguntas técnicas
¿Qué muestra repeated_prime?
Muestra un primo cuyo cuadrado divide n. La entrada puede contener otros factores primos repetidos que no se enumeran.
¿Puedo introducir cero o un entero negativo?
No. Esta capacidad solo acepta enteros positivos y devuelve un error invalid_input cuando n es inferior a 1.
¿Cuánto cuesta una comprobación mediante API?
Cada solicitud API cuesta $0.002. La versión del navegador ejecuta localmente el mismo cálculo determinista.