Calculadora de idempotentes módulo n
Módulo 12 hay cuatro restos que no cambian al elevarlos al cuadrado: 0, 1, 4 y 9. Escriba cualquier módulo hasta un billón y obtendrá la lista completa y ordenada, junto con las potencias de primos que explican cuántos hay. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- N
- 12
- Idempotentes
- 0, 1, 4, 9
- Cantidad
- 4
- Factores de potencias de primos
- 4, 3
Un idempotente módulo n es un residuo que no cambia al multiplicarse por sí mismo: x al cuadrado es congruente con x módulo n. Esta calculadora devuelve la lista completa y ordenada desde cero hasta n menos uno, no solo un recuento ni un ejemplo aislado. Factoriza el módulo en potencias de primos coprimas entre sí y aplica el teorema chino del resto para construir cada solución de forma exacta. La respuesta también muestra esos factores, de modo que usted puede revisar, enseñar, probar o reutilizar el resultado con facilidad.
Qué significa un residuo idempotente
La congruencia que lo define es x² ≡ x (mod n), equivalente a que n divida x(x − 1). Cero y uno siempre son soluciones, porque al elevar cualquiera de ellos al cuadrado no cambia su clase residual. Los módulos compuestos pueden ofrecer soluciones adicionales: distintas potencias primas de n pueden dividir factores vecinos distintos, x y x − 1.
Por ejemplo, módulo doce la lista completa es cero, uno, cuatro y nueve. Cuatro funciona porque dieciséis difiere de cuatro en doce; nueve funciona porque ochenta y uno difiere de nueve en setenta y dos. El arreglo idempotents contiene únicamente representantes canónicos entre cero y n menos uno, sin repeticiones y ordenados numéricamente.
El campo count indica su cantidad. Así, la salida sirve cuando usted necesita todas las soluciones y no una simple prueba de un candidato.
Cómo se construye la lista completa
Primero, el algoritmo descompone n en potencias primas máximas. Esos factores son coprimos dos a dos y su producto es n. Sobre cada potencia prima, x² ≡ x solo posee dos clases: cero y uno.
El teorema chino del resto establece que escoger cero o uno de manera independiente para cada factor determina una única clase módulo n. Si n tiene k primos distintos, se obtienen por tanto 2^k idempotentes. La calculadora no recorre todos los enteros entre cero y n menos uno.
Para cada potencia q forma n/q y calcula su inverso modular exacto módulo q. Después combina las bases CRT según todos los patrones binarios, reduce módulo n y ordena los representantes. La factorización usa división de prueba determinista; los productos e inversos CRT emplean BigInt para evitar redondeos.
No intervienen red, reloj, azar ni caché mutable, por lo que una misma entrada produce siempre exactamente la misma salida.
Qué puede hacer con ella
Enseñar el teorema chino del resto
Muestre cómo las elecciones independientes de cero o uno en las potencias primas se convierten en residuos concretos módulo un entero compuesto.
Probar código de aritmética modular
Genere un caso exacto y ordenado para comprobar implementaciones de anillos, congruencias o clases residuales.
Explorar la estructura de anillos finitos
Enumere los elementos que se comportan como proyecciones bajo la multiplicación en el anillo de enteros módulo n.
Preguntas frecuentes
¿Siempre se incluyen cero y uno?
Sí. Siempre son idempotentes; cuando n vale uno, ambos nombres representan el único residuo canónico, cero.
¿Cuántos idempotentes existen?
Para n mayor que uno con k factores primos distintos, existen exactamente 2^k. El módulo uno posee una sola clase residual.
¿Por qué se devuelven potencias primas?
Muestran los componentes coprimos utilizados por el teorema chino del resto y explican la cantidad de soluciones.
¿La calculadora prueba cada residuo?
No. Factoriza n y construye directamente el conjunto completo mediante bases CRT.
¿Cuáles son los idempotentes módulo 12?
Son 0, 1, 4 y 9. Por ejemplo, 4 al cuadrado es 16, que deja resto 4 al dividir entre 12, y 9 al cuadrado es 81, que deja resto 9. Como 12 tiene dos factores primos distintos, hay cuatro.
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/idempotents-mod-n \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/idempotents-mod-n", {
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/idempotents-mod-n",
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/idempotents-mod-n", 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/idempotents-mod-n", 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.idempotents_mod_n",
"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 un residuo idempotente
Cuando n vale uno existe una sola clase, representada por cero, que también es idempotente. prime_power_factors muestra la estructura usada: doce aparece como cuatro por tres, no como dos por dos por tres.
Cómo se construye la lista completa
El límite de un billón mantiene previsible la latencia y todas las respuestas siguen siendo enteros JSON seguros.
Cómo enviar el módulo y utilizar la respuesta
Una cadena puede comenzar con signo más, pero se rechazan fracciones, notación exponencial, prefijos hexadecimales, espacios, números negativos, cero, valores ausentes, arreglos y objetos sin el campo correspondiente. Como comprobación, count debe ser dos elevado al número de primos distintos; n igual a uno es el caso especial de lista de factores vacía. Usted puede verificar cada x comprobando que el resto no negativo de x por x menos x, dividido por n, sea cero. La respuesta puede alimentar rutinas de anillos finitos, pruebas de bibliotecas, ejercicios del teorema chino o cálculos modulares. Envíe n como entero JSON positivo o como cadena decimal simple. También se acepta el alias modulus para formularios que prefieren un nombre descriptivo. Los valores superiores al límite publicado de un billón también producen invalid_input, en vez de iniciar una búsqueda costosa. Tras una respuesta correcta, consulte idempotents para obtener la lista ascendente completa, count para conocer su tamaño y prime_power_factors para ver la descomposición coprima. Cada solicitud correcta de API cuesta $0.002; el navegador ejecuta la misma función pura gratuitamente.
Preguntas técnicas
¿Qué entradas se rechazan?
Los valores ausentes o no enteros, los menores que uno, las cadenas decimales mal formadas y los módulos que excedan el límite publicado devuelven invalid_input.