Lista de totativos: enteros coprimos con n
Un totativo de n es un entero positivo no mayor que n que no comparte con n ningún factor salvo 1.
Ejecutar — gratis
Esta calculadora genera la lista completa y ordenada, en lugar de limitarse a indicar el valor de la función totiente de Euler. Introduzca un entero positivo para obtener el valor original, la cantidad de enteros que cumplen la condición y los propios totativos. Resulta útil para comprobar ejercicios de aritmética modular, estudiar sistemas reducidos de residuos y observar qué valores contribuyen exactamente a la función totiente de Euler.
Qué representa la lista de totativos
Los totativos de n son exactamente los enteros entre 1 y n cuyo máximo común divisor con n es 1. Decir que dos números tienen máximo común divisor 1 equivale a decir que son coprimos o primos relativos. Por ejemplo, un candidato queda excluido si comparte cualquier factor primo con n, aunque no sea divisor de n. El arreglo devuelto aparece en orden creciente porque los candidatos se examinan desde 1. El valor 1 siempre figura, pues es coprimo con todo entero positivo. Por lo general, el extremo n no aparece porque gcd(n, n) es igual a n; el caso especial es n = 1, cuya lista es [1]. La cantidad adjunta coincide con la longitud de la lista y, por tanto, con la función totiente de Euler phi(n). Esta capacidad muestra los elementos concretos; si solo necesita el recuento para un entero muy grande, conviene utilizar una calculadora de totiente. La diferencia es importante en aritmética modular, donde esos elementos forman el sistema reducido de residuos módulo n.
Cómo se realiza el cálculo
La calculadora valida n antes de efectuar cualquier operación. Acepta un número entero o un entero escrito como cadena decimal simple, rechaza fracciones y valores no numéricos, y comunica un error de entrada cuando n es menor que 1. También aplica el límite superior publicado para que la generación de un arreglo JSON potencialmente grande sea previsible tanto en el navegador como en la API. Tras la validación, el algoritmo examina cada entero entre 1 y n. Para cada candidato utiliza el algoritmo de Euclides: sustituye repetidamente el par mayor por el divisor y el resto hasta que este sea cero. El último divisor distinto de cero es el máximo común divisor. El candidato solo entra en el resultado cuando dicho divisor es 1. El procedimiento emplea aritmética entera exacta, sin aproximaciones, bases de factores, solicitudes de red, decisiones aleatorias ni reloj. Por ello, una misma entrada siempre produce la misma salida ordenada. La cantidad se obtiene del arreglo terminado y no mediante un cálculo separado, lo que evita discrepancias entre la lista y su tamaño indicado.
Cómo utilizar correctamente el resultado
Utilice la lista cuando el paso siguiente dependa de las clases de residuos concretas y no solo de cuántas existen. En teoría elemental de números, permite comprobar directamente qué números son invertibles módulo n: cada valor incluido posee un inverso multiplicativo módulo n y cada valor omitido carece de él. En lecciones de criptografía, el resultado ayuda a mostrar por qué un multiplicador debe ser coprimo con el módulo, aunque se trata de un resultado aritmético educativo y no de un sistema para generar claves. También puede comparar la cantidad devuelta con un cálculo manual de la fórmula del totiente de Euler para revisar una factorización. Recuerde que la coprimalidad es una relación, no una afirmación de que cada número incluido sea primo. Pueden aparecer valores compuestos si no comparten ningún factor primo con n. Por ejemplo, un candidato compuesto puede ser totativo de un módulo primo. En procesos automatizados, lea directamente el arreglo de totativos y use la cantidad como resumen. Si solo desea saber si una pareja concreta es coprima, un comprobador de coprimalidad evita construir la lista completa.
Qué puede hacer con ella
Construir un sistema reducido de residuos
Genere el conjunto creciente completo de representantes de residuos que son invertibles módulo n.
Comprobar ejercicios de teoría de números
Compare una lista de totativos y un recuento hechos a mano con un resultado determinista.
Explorar inversos modulares
Identifique cada valor del intervalo habitual que puede tener un inverso multiplicativo módulo n.
Preguntas frecuentes
¿Qué es un totativo?
Un totativo de n es un entero positivo como máximo igual a n cuyo máximo común divisor con n es 1.
¿La cantidad es la función totiente de Euler?
Sí. El número de valores del arreglo de totativos es phi(n), la función totiente de Euler.
¿Por qué n no suele aparecer en su propia lista?
Porque gcd(n, n) es n y no 1. La excepción es n = 1, cuya lista de totativos es [1].
¿Todo totativo debe ser primo?
No. Un totativo puede ser compuesto; basta con que no comparta ningún factor primo con n.
¿Cuánto cuesta una solicitud?
El precio de la API es $0.002 por solicitud. La versión del navegador se ejecuta localmente sin cargo de API.
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/totatives-list \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/totatives-list", {
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/totatives-list",
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/totatives-list", 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/totatives-list", 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.totatives_list",
"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 | 100000 |
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. |