Calculateur de fonction de Carmichael
λ(15) vaut 4 : tout nombre premier avec 15, élevé à la puissance 4, laisse un reste de 1 modulo 15, alors que l'indicatrice d'Euler en vaut 8. Saisissez un entier positif de 18 chiffres au plus pour obtenir λ(n) et sa factorisation. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- N
- 15
- Lambda
- 4
- Oméga
- 2
La fonction de Carmichael λ(n) répond à une question plus fine que l'indicatrice d'Euler : quel est le plus petit exposant positif m tel que tout entier a premier avec n satisfasse a^m ≡ 1 (mod n) ? Cet entier unique est l'exposant du groupe multiplicatif des unités modulo n, et il apparaît dans les calendriers de clés RSA, les preuves liées à la primalité, et les exercices de classe sur les ordres modulaires. Ce calculateur prend un entier positif, le factorise de manière déterministe avec de l'arithmétique BigInt, applique la formule de puissance première pour λ, et renvoie le plus petit commun multiple sous forme de chaîne décimale exacte.
Ce que mesure la fonction de Carmichael
L'indicatrice d'Euler φ(n) compte combien de classes de résidus modulo n sont premières avec n ; le λ(n) de Carmichael est l'exposant de ce groupe — le plus petit commun multiple des ordres de toutes les unités. Par définition, λ(n) divise toujours φ(n), et pour les nombres premiers et le double des nombres premiers impairs, les deux fonctions coïncident, mais pour les puissances de deux et pour les produits de plusieurs puissances premières, λ est souvent strictement plus petit.
La forme close est élémentaire une fois la factorisation en nombres premiers de n connue : λ(1) est égal à 1 ; λ(2) est égal à 1 et λ(4) est égal à 2 ; pour les puissances supérieures de deux, λ(2^k) est égal à 2^{k-2} ; pour une puissance première impaire, λ(p^k) est égal à φ(p^k) est égal à p^{k-1}(p-1) ; et pour un n général, la valeur globale est le PPCM des valeurs locales sur chaque facteur de puissance première.
Connaître λ(n) vous permet de borner l'ordre de tout a premier avec n sans tester chaque exposant candidat, ce qui explique pourquoi les cours de théorie des nombres et les démonstrations cryptographiques le traitent comme un compagnon de premier ordre de l'indicatrice. Ce point de terminaison renvoie cet entier avec la factorisation qu'il a utilisée, afin que vous puissiez auditer chaque étape de la dérivation plutôt que de faire confiance à une boîte noire opaque.
Comment appeler le calculateur et lire λ(n)
Soumettez un seul champ n — un entier JavaScript sûr ou une simple chaîne décimale sans virgules, espaces, ou notation scientifique. En interne, le moteur promeut n en BigInt, le factorise avec une roue de division d'essai 6k±1 jusqu'à la racine carrée du cofacteur restant, évalue la formule de Carmichael locale sur chaque puissance première, et fusionne ces valeurs locales avec un PPCM exact.
La réponse porte n et lambda comme chaînes décimales, un tableau factors de paires { base, exponent } ascendantes (vide lorsque n vaut 1), et omega comme le compte de bases premières distinctes. Restez dans la limite publiée de dix-huit chiffres décimaux ; au-delà de cette limite, la requête échoue rapidement plutôt que de consommer du CPU sur une recherche intraitable.
Où λ(n) apparaît en pratique
Injectez λ(n) dans des preuves qu'un générateur a un ordre maximal, vérifiez qu'un exposant universel proposé annule bien chaque unité, ou documentez l'exposant de groupe des tailles de table de hachage et des modules de défi. Les auteurs de pipelines peuvent enchaîner ce calculateur après une étape de factorisation ou l'appeler seul lorsque seul l'exposant est requis. Les factors structurés dans la réponse servent aussi de décomposition en puissances premières gratuite pour tout calcul d'indicatrice ou de radical suivant que vous exécutez ensuite.
Cas d’usage
Vérifications d'ordre modulaire pour devoirs et concours
Vérifiez les réponses d'élèves ou de concours pour l'exposant de (Z/nZ)* en comparant le λ(n) renvoyé aux valeurs de PPCM local calculées à la main.
Démonstrations de classe RSA et cryptographie
Montrez que λ(n) peut être strictement plus petit que φ(n) sur les puissances de deux et les produits multi-premiers utilisés dans des modules RSA jouets.
Utilitaires de théorie des nombres pour pipelines
Émettez λ(n) exact plus les puissances premières pour des bornes d'ordre, des vérifications croisées d'indicatrice, ou des tables d'exposants par lots dans des pipelines mathématiques automatisés.
Questions fréquentes
Le calculateur de fonction de Carmichael est-il gratuit ?
L'outil du navigateur s'exécute gratuitement sur votre appareil.
En quoi λ(n) diffère-t-il de l'indicatrice d'Euler φ(n) ?
φ(n) compte les unités modulo n ; λ(n) est l'exposant de ce groupe. λ(n) divise toujours φ(n) et est souvent plus petit pour les puissances de deux et les n multi-premiers.
À quoi sert λ(n) en pratique ?
C'est un exposant universel : tout nombre premier avec n, élevé à la puissance λ(n), laisse un reste de 1. Il borne ainsi l'ordre de chacun de ces nombres sans tester un à un tous les exposants possibles.
Comment calcule-t-on λ(n) ?
On décompose n en puissances de nombres premiers, on prend la valeur de chacune puis on les combine par le plus petit commun multiple. Pour 15, les parties 3 et 5 donnent 2 et 4, donc λ(15) vaut 4.
Quelle taille de nombre puis-je saisir ?
Tout entier positif de 18 chiffres au plus, écrit sans virgules, espaces ni notation scientifique. Au-delà, le calcul s'arrête aussitôt au lieu de tenter une recherche impraticable.
Outils associés
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/carmichael-function \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":"15"}'const res = await fetch("https://api.kit.forhosting.com/numth/carmichael-function", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": "15"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/carmichael-function",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": "15"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/carmichael-function", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":"15"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":"15"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/carmichael-function", 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": "15"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.carmichael_function",
"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_digits | 18 |
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. |
Notes techniques
Les résultats ne dépendent jamais de l'arrondi à virgule flottante, des appels réseau, ou de l'heure système, si bien que le chemin gratuit du navigateur et le chemin de l'API prépayée produisent un JSON identique pour le même n.
Comment appeler le calculateur et lire λ(n)
Les valeurs doivent être des entiers d'au moins 1 ; zéro, les nombres négatifs, et les fractions sont rejetés avec invalid_input et ne sont jamais facturés. Les noms de champs alias number et value sont acceptés par commodité. Comme l'algorithme est pur et déterministe — sans réseau, sans aléatoire, sans Date — la même entrée produit toujours le même JSON, ce qui garde les exemples de référence stables et rend l'outil gratuit du navigateur identique bit à bit au chemin de l'API facturé à $0.002 par requête réussie.
Où λ(n) apparaît en pratique
La validation échouée ne consomme jamais de solde ; seuls les calculs réussis facturent le $0.002 publié. Utilisez l'outil du navigateur pour l'exploration interactive de n petits et moyens, et l'API lorsqu'un backend, un notebook, ou un travail par lots doit calculer λ pour de nombreux entiers sous un seul solde KIT prépayé sans abonnement.
Questions techniques
Comment calculer la fonction de Carmichael λ(n) avec cette API ?
Envoyez un objet POST avec le champ n réglé sur un entier ≥ 1 (ou une chaîne décimale). La réponse renvoie lambda comme chaîne décimale, plus factors et omega.
Pourquoi n doit-il être au moins 1 ?
λ(n) est défini pour les entiers positifs. Zéro et les nombres négatifs sont rejetés avec invalid_input plutôt que d'inventer une convention ; λ(1) est défini comme 1.
Le résultat est-il déterministe entre le navigateur et l'API ?
Oui. La même routine pure de factorisation et de PPCM alimente les deux chemins, si bien que des entrées identiques produisent un JSON identique sans réseau ni aléatoire impliqués.