Liste des totatifs : entiers premiers avec n
Un totatif de n est un entier positif inférieur ou égal à n qui ne partage avec n aucun facteur autre que 1.
Lancer gratuitement
Ce calculateur fournit la liste complète et ordonnée au lieu d’indiquer seulement la valeur de l’indicatrice d’Euler. Saisissez un entier positif pour obtenir la valeur initiale, le nombre d’entiers admissibles et les totatifs eux-mêmes. Cet outil permet de vérifier des exercices d’arithmétique modulaire, d’étudier les systèmes réduits de résidus et de voir précisément quelles valeurs contribuent à l’indicatrice d’Euler.
Ce que représente la liste des totatifs
Les totatifs de n sont exactement les entiers compris entre 1 et n dont le plus grand commun diviseur avec n vaut 1. Dire que deux nombres ont un plus grand commun diviseur égal à 1 revient à dire qu’ils sont premiers entre eux. Un candidat est notamment exclu s’il partage un facteur premier quelconque avec n, même s’il ne divise pas n. Le tableau obtenu est classé par ordre croissant, car les candidats sont examinés à partir de 1. La valeur 1 figure toujours dans la liste puisqu’elle est première avec tout entier positif. En règle générale, la borne n n’y figure pas, car gcd(n, n) vaut n ; le cas particulier est n = 1, pour lequel la liste est [1]. Le décompte fourni correspond à la longueur de la liste et donc à l’indicatrice d’Euler phi(n). Cette capacité présente les membres réels, tandis qu’un calculateur d’indicatrice seul convient mieux si vous recherchez uniquement le nombre associé à un très grand entier. Cette différence est essentielle en arithmétique modulaire, où ces membres constituent le système réduit de résidus modulo n.
Déroulement du calcul
Le calculateur valide n avant toute opération arithmétique. Il accepte un nombre entier ou un entier écrit sous forme de chaîne décimale simple, refuse les fractions et les valeurs non numériques, puis signale une erreur de saisie lorsque n est inférieur à 1. Il applique également la limite supérieure publiée afin que la production d’un tableau JSON potentiellement volumineux reste prévisible dans le navigateur comme dans l’API. Après validation, l’algorithme examine chaque entier de 1 à n. Pour chaque candidat, il applique l’algorithme d’Euclide : il remplace successivement la paire par le diviseur et le reste jusqu’à ce que le reste soit nul. Le dernier diviseur non nul est le plus grand commun diviseur. Un candidat ne rejoint le résultat que si ce diviseur vaut 1. Cette procédure repose sur une arithmétique entière exacte, sans approximation, base de facteurs, appel réseau, choix aléatoire ni horloge. Une même entrée produit donc toujours la même sortie ordonnée. Le décompte est tiré du tableau terminé plutôt que calculé séparément, ce qui empêche toute divergence entre la liste affichée et la taille annoncée.
Bien exploiter le résultat
Utilisez la liste lorsque l’étape suivante dépend des classes de résidus elles-mêmes, et pas seulement de leur nombre. En théorie élémentaire des nombres, elle permet de vérifier directement quels nombres sont inversibles modulo n : chaque valeur répertoriée possède un inverse multiplicatif modulo n, contrairement à chaque valeur omise. Dans un cours de cryptographie, le résultat peut illustrer pourquoi un multiplicateur doit être premier avec un module, même s’il s’agit d’un résultat arithmétique pédagogique et non d’un système de génération de clés. Vous pouvez également comparer le décompte renvoyé à un calcul manuel de la formule de l’indicatrice d’Euler afin de contrôler une factorisation. Gardez à l’esprit que la coprimalité est une relation et ne signifie pas que chaque nombre répertorié est premier. Des valeurs composées peuvent apparaître dès lors qu’elles ne partagent aucun facteur premier avec n. Ainsi, un candidat composé peut être un totatif d’un module premier. Pour une utilisation automatisée, lisez directement le tableau des totatifs et utilisez le décompte comme résumé. Si vous souhaitez seulement tester une paire précise, un vérificateur de coprimalité évite de construire toute la liste.
Cas d’usage
Construire un système réduit de résidus
Générez l’ensemble croissant complet des représentants de résidus inversibles modulo n.
Vérifier des exercices de théorie des nombres
Comparez une liste et un décompte manuels à un résultat calculé de manière déterministe.
Étudier les inverses modulaires
Repérez chaque valeur de l’intervalle standard susceptible d’avoir un inverse multiplicatif modulo n.
Questions fréquentes
Qu’est-ce qu’un totatif ?
Un totatif de n est un entier positif au plus égal à n dont le plus grand commun diviseur avec n vaut 1.
Le décompte correspond-il à l’indicatrice d’Euler ?
Oui. Le nombre de valeurs du tableau des totatifs est phi(n), l’indicatrice d’Euler.
Pourquoi n est-il généralement absent de sa propre liste ?
Parce que gcd(n, n) vaut n et non 1. L’exception est n = 1, dont la liste des totatifs est [1].
Tout totatif doit-il être premier ?
Non. Un totatif peut être composé ; il suffit qu’il ne partage aucun facteur premier avec n.
Combien coûte une requête ?
Le tarif de l’API est de $0.002 par requête. La version navigateur s’exécute localement sans frais d’API.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"n": 12
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.totatives_list",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_n | 100000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |