ForHosting KIT · Mathématiques

Test de primalité de Mersenne avec Lucas-Lehmer

Indiquez un exposant premier et le test de Lucas–Lehmer vous dit si 2^p − 1 est premier : pour 31, il fait 29 étapes, aboutit à un résidu nul et confirme le premier 2147483647. Vous voyez le nombre exact, pas un simple oui ou non. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Puissance (W)
31
Vous obtenez
Nombre de Mersenne
2147483647
Itérations
29
Reste final
0

Ce vérificateur reçoit un exposant premier p et détermine si 2^p - 1 est un nombre premier de Mersenne. Il applique le test déterministe de Lucas-Lehmer et fournit le nombre exact, le nombre d’itérations et le résidu final. L’exposant est validé en premier, car un exposant composé ne peut produire aucun premier de Mersenne. Vous distinguez ainsi une requête incorrecte d’un test valide dont le résultat est composé.

Comment le test de Lucas–Lehmer tranche

Un nombre de Mersenne s'écrit 2^p − 1 et ne peut être premier que si l'exposant est lui-même premier. C'est pourquoi le vérificateur confirme d'abord que l'exposant est premier et refuse un exposant composé au lieu de répondre faux. Il construit ensuite le nombre exact et déroule la suite de Lucas–Lehmer : partir de 4, élever au carré, retrancher 2 et ne garder que le reste de la division par le nombre de Mersenne. Après l'exposant moins 2 étapes, le nombre est premier exactement quand le dernier reste vaut zéro. Pour l'exposant 31, cela donne 29 étapes, un résidu final de 0 et le premier 2147483647.

Quand l'utiliser et les pièges à éviter

Servez-vous-en pour confirmer un exposant candidat, contrôler une table de premiers de Mersenne connus ou montrer à des élèves comment des carrés successifs avec reste aboutissent à zéro ou non. Deux confusions reviennent souvent. Un exposant premier ne garantit pas un résultat premier : une réponse fausse est normale et signifie seulement que le nombre de Mersenne est composé. Une erreur est autre chose : l'exposant n'est pas premier, n'est pas entier ou sort de la plage de 2 à 10 000. L'exposant 2 est un cas particulier qui donne 3, premier, sans aucune étape.

Choisissez et validez l’exposant

Saisissez un entier p compris entre 2 et 10,000. Avant de construire le nombre, il vérifie par divisions déterministes que p est premier. Il s’agit d’une condition mathématique indispensable : lorsque p est composé, 2^p - 1 possède une factorisation algébrique.

Cette entrée provoque donc une erreur, et non un résultat faux. Faux signifie qu’un exposant premier a été testé correctement et que son nombre de Mersenne est composé. Les décimales, champs absents, tableaux, textes non numériques et valeurs hors limites sont également refusés clairement.

Comprenez le calcul de Lucas-Lehmer

M est premier si et seulement si le résidu final vaut zéro. Aucun arrondi, témoin probabiliste, réseau ou hasard n’intervient. La réponse expose le nombre décimal exact, la décision, la méthode, le nombre d’itérations et le résidu, afin que vous puissiez reproduire et contrôler le calcul.

Contrôler un exposant candidat

Vérifiez si le nombre associé à un exposant premier satisfait exactement le critère de Lucas-Lehmer.

Enseigner la récurrence modulaire

Illustrez comment les carrés modulaires successifs aboutissent à un résidu nul ou non nul.

Créer des jeux de test stables

Produisez des valeurs, nombres d’itérations et résidus reproductibles pour une autre implémentation.

Que se passe-t-il si p est composé ?

La requête renvoie une erreur de saisie, car p doit être premier.

Un exposant premier garantit-il un premier de Mersenne ?

Non. Cette condition est nécessaire mais insuffisante ; le résidu fournit la décision finale.

Le test est-il probabiliste ?

Non. Lucas-Lehmer est déterministe pour les nombres de Mersenne à exposant premier.

2^31 − 1 est-il un premier de Mersenne ?

Oui. Avec l'exposant 31, le vérificateur forme 2147483647, effectue 29 étapes de Lucas–Lehmer et termine sur un résidu de 0, ce qui prouve que le nombre est premier.

Que signifie un résultat faux ?

Il signifie qu'un exposant premier a été testé correctement et que son nombre de Mersenne est composé. C'est un résultat normal, contrairement à une erreur, qui n'apparaît que si l'exposant n'est pas un premier valide dans la plage.

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.

POSThttps://api.kit.forhosting.com/numth/mersenne-prime-check

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é.

curl -X POST https://api.kit.forhosting.com/numth/mersenne-prime-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"p":31}'
{
  "p": 31
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.mersenne_prime_check",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

min_p2
max_p10000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Choisissez et validez l’exposant

Le vérificateur accepte le champ p et l’alias exponent, y compris une chaîne entière.

Comprenez le calcul de Lucas-Lehmer

Une fois p validé, le service forme M = 2^p - 1 avec une arithmétique BigInt exacte. Pour un premier impair, il part de s = 4 puis remplace s par son carré moins 2, modulo M, exactement p - 2 fois. Le cas p = 2 donne M = 3 sans itération et avec un résidu nul.

Interprétez et exploitez le résultat

Vrai indique un résidu final nul ; faux signifie que p est premier mais que 2^p - 1 est composé. Il ne recherche pas sans limite : une requête traite un seul exposant dans la plage publiée. Le résultat étant immuable, mettez-le en cache pour les traitements volumineux. is_prime concerne le nombre de Mersenne, pas l’exposant déjà validé. Les champs mersenne et final_residue restent des chaînes décimales afin d’éviter toute perte de précision JSON. Le navigateur exécute la même logique déterministe que l’API, tandis qu’un appel automatisé coûte $0.002.

Pourquoi renvoyer le nombre et le résidu comme chaînes ?

Ils peuvent dépasser la précision entière de JSON ; les chaînes conservent chaque chiffre.

Quel est le prix d’un contrôle par API ?

Chaque requête coûte $0.002. La version navigateur emploie le même calcul pur.

Consulter la documentation complète du KIT →