ForHosting KIT · Outils pour développeurs

Test de primalité de Lucas

Ce vérificateur du test de primalité de Lucas transforme un certificat mathématique compact en un résultat de primalité reproductible.

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

Fournissez un entier impair n, un témoin de Lucas proposé et la factorisation première complète de n moins un. Le calculateur valide la factorisation elle-même, évalue les puissances modulaires et les plus grands communs diviseurs requis, puis ne certifie n que si toutes les conditions du théorème de Lucas sont satisfaites. Les chaînes décimales conservent les entiers exacts, y compris au-delà de la plage numérique sûre habituelle de JavaScript.

Préparez un certificat complet

Commencez par l’entier impair que vous souhaitez certifier et factorisez entièrement n moins un. Saisissez n et chaque facteur premier sous forme de chaîne décimale canonique, car les chaînes préservent les valeurs exactes jusqu’à la limite de 64 bits. Chaque facteur apparaît une seule fois avec son exposant positif. Par exemple, pour n = 29, n moins un = 28 = 2 au carré fois 7 : la liste contient donc 2 avec l’exposant 2 et 7 avec l’exposant 1. Vous devez également fournir une base a telle que 1 < a < n. Cette base est le témoin de Lucas proposé. Le vérificateur exige volontairement ce témoin au lieu de le rechercher : la vérification d’un certificat est rapide, bornée et reproductible, tandis qu’une recherche peut durer plus ou moins longtemps selon l’entrée. Si vous ne disposez pas encore d’un témoin, essayez de petites bases avec un outil distinct consacré aux racines primitives, puis soumettez le certificat obtenu. Les espaces, signes, zéros initiaux, notations à virgule flottante, nombres premiers dupliqués, facteurs composés et facteurs manquants sont rejetés plutôt que normalisés silencieusement, ce qui rend le certificat adapté aux journaux d’audit et aux processus automatisés.

Comprenez les deux conditions de Lucas

Le premier calcul vérifie que a élevé à n moins un est congru à 1 modulo n. Il s’agit de la condition familière de Fermat, mais elle ne suffit pas à établir la primalité, car des pseudo-premiers peuvent la satisfaire. La seconde étape, décisive, utilise chaque nombre premier distinct q divisant n moins un. Pour chaque q, le vérificateur calcule a élevé à (n moins un) divisé par q modulo n, retranche un et vérifie que le résultat a pour plus grand commun diviseur 1 avec n. La réussite de tous ces contrôles prouve que l’ordre multiplicatif de a modulo n vaut exactement n moins un. Un élément modulo n ne peut avoir cet ordre que si n est premier : c’est le cœur du théorème de Lucas. Les contrôles renvoyés présentent le résidu modulaire et le plus grand commun diviseur pour chaque q distinct, tandis que l’exposant reste visible dans la factorisation validée. L’exponentiation modulaire emploie des carrés successifs et une arithmétique BigInt exacte ; le calcul ne dépend donc jamais d’un arrondi flottant, de bases aléatoires, d’un service réseau ou d’un niveau de confiance probabiliste.

Interprétez les échecs et le résultat positif

Une réponse positive constitue le résultat d’un certificat de primalité, et non une simple indication de nombre probablement premier. Elle répète n, identifie le témoin accepté, fournit le résidu de Fermat et énumère un contrôle réussi du plus grand commun diviseur pour chaque facteur distinct de n moins un. Conservez l’entrée d’origine avec cette réponse lorsqu’un autre système doit reproduire la preuve. Les échecs sont volontairement précis. Si les puissances des facteurs ne donnent pas exactement n moins un, la factorisation est incomplète ou erronée. Si un facteur indiqué est composé, ou si le même nombre premier apparaît deux fois, la factorisation est mal formée même lorsque son produit brut coïncide. L’échec d’une condition modulaire signifie que la base fournie n’est pas un témoin de Lucas ; il ne permet pas à lui seul de distinguer un n composé d’un nombre premier associé à une base inadéquate. Essayez un autre témoin mathématiquement justifié si la primalité reste attendue. Les entrées sont limitées aux entiers impairs de 3 à 2^64 moins 1, ce qui permet de valider de façon déterministe les facteurs premiers indiqués avant d’évaluer le certificat. Le tarif de l’API est de $0.002 par requête.

Vérifiez un nombre premier généré

Contrôlez un candidat et sa factorisation de construction avant d’employer ce nombre premier dans un autre calcul exact.

Reproduisez un certificat

Validez un témoin de Lucas issu d’un article, d’un exercice ou d’un calcul archivé avec des résidus intermédiaires explicites.

Filtrez des données arithmétiques

Rejetez les factorisations incomplètes et les témoins non valides avant d’admettre des nombres déclarés premiers dans un jeu fiable.

Un résultat positif prouve-t-il la primalité ?

Oui. Lorsque la factorisation complète est valide et que toutes les conditions de Lucas réussissent, le résultat constitue une preuve déterministe de primalité pour n.

Pourquoi dois-je fournir une base ?

La base est le témoin porté par le certificat. Son exigence rend la vérification bornée et reproductible, au lieu de lancer une recherche ouverte de racine primitive.

Que signifie l’échec d’une base ?

Cette base n’est pas un témoin valide. Le candidat peut être composé, ou premier avec un autre témoin approprié ; cet échec seul ne permet pas de trancher.

Pourquoi saisir les entiers sous forme de chaînes ?

Les chaînes décimales évitent toute perte de précision pour les entiers dépassant la plage numérique sûre de JavaScript. Les résultats emploient des chaînes pour la même raison.

Comment la factorisation est-elle contrôlée ?

Chaque facteur indiqué subit un test de primalité déterministe, les doublons sont rejetés et le produit de toutes les puissances premières doit valoir exactement n moins un.

Quel est le tarif ?

Chaque requête API coûte $0.002. L’implémentation dans le navigateur utilise 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/lucas-primality-test

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/lucas-primality-test \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":"29","base":"2","factors":[{"prime":"2","exponent":2},{"prime":"7","exponent":1}]}'
{
  "n": "29",
  "base": "2",
  "factors": [
    {
      "prime": "2",
      "exponent": 2
    },
    {
      "prime": "7",
      "exponent": 1
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.lucas_primality_test",
  "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.

max_bits64
max_factors64
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 →