ForHosting KIT · Outils pour développeurs

Test de primalité de Mersenne avec Lucas-Lehmer

Ce vérificateur reçoit un exposant premier p et détermine si 2^p - 1 est un nombre premier de Mersenne.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

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

Choisissez et validez l’exposant

Saisissez un entier p compris entre 2 et 10,000. Le vérificateur accepte le champ p et l’alias exponent, y compris une chaîne entière. 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

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. 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. Le cas p = 2 donne M = 3 sans itération et avec un résidu nul. 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.

Interprétez et exploitez le résultat

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

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.

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.

Le test est-il probabiliste ?

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

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.

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.

Consulter la documentation complète du KIT →