ForHosting KIT · Mathématiques

Vérificateur de pseudopremiers de Fermat pour toute base

Découvrez si un nombre composé réussit malgré tout le test de Fermat : 341 en base 2 laisse un reste de 1, c’est donc un pseudopremier de Fermat en base 2. Le plus grand commun diviseur s’affiche aussi, utile en cours de théorie des nombres. 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
N
341
Premier texte
2
Vous obtenez
Base
2
Gcd
1
Reste
1

Le vérificateur de pseudopremiers de Fermat reçoit un entier composé n et une base a, calcule exactement le reste de a élevé à n moins un modulo n, puis indique si ce reste vaut un. Un composé qui réussit est un pseudopremier de Fermat pour la base choisie : il se comporte comme un nombre premier dans ce test précis sans l’être. Le plus grand commun diviseur est également fourni pour faciliter l’analyse et l’explication du résultat.

Ce que signifie réellement un résultat positif

Le petit théorème de Fermat affirme que si n est premier et que a n’est pas divisible par n, alors a élevé à la puissance n moins un laisse un reste égal à un modulo n. La réciproque n’est pas garantie. Certains entiers composés produisent eux aussi un reste égal à un pour certaines bases ; on les appelle des pseudopremiers de Fermat pour ces bases.

Ce vérificateur exige délibérément que n soit composé, contrôle d’abord cette condition, puis évalue exactement la congruence. La base fait partie intégrante de l’affirmation et doit toujours accompagner le résultat. Le reste renvoyé constitue la preuve arithmétique directe : un signifie que le test réussit, toute autre valeur qu’il échoue.

Le plus grand commun diviseur aide en outre à reconnaître les bases premières avec n et les relations de facteur déjà visibles.

Comment le calcul reste exact

Les deux entrées sont des chaînes décimales afin que les entiers dépassant la plage numérique sûre de JavaScript ne soient pas arrondis avant le calcul. La plage admise s’arrête au plus grand entier non signé sur 64 bits, ce qui fixe une limite claire et vérifiable au contrôle de primalité. Avant le test de Fermat, le vérificateur applique une procédure déterministe de Miller–Rabin avec un ensemble de témoins suffisant sur toute cette plage.

Un nombre premier détecté provoque une erreur de saisie : les nombres premiers satisfont le théorème, mais ne peuvent pas être des pseudopremiers par définition. Pour un composé valide, l’exponentiation modulaire emploie les carrés successifs au lieu de construire l’immense valeur a^(n-1). Chaque multiplication est réduite modulo n, ce qui maintient les valeurs intermédiaires bornées et exactes avec BigInt.

L’algorithme d’Euclide calcule séparément gcd(a,n). La base doit respecter 2 <= a <= n - 2. Aucun témoin aléatoire, horodatage, appel réseau ou calcul flottant n’influence la réponse ; les mêmes entrées produisent donc toujours la même sortie.

Utilisation pour l’apprentissage et la vérification

Bien que 341 soit composé, 2^340 est congru à un modulo 341 ; il réussit donc le test et constitue un pseudopremier de Fermat en base deux. Avec une autre base, ce même composé peut échouer, raison pour laquelle un seul test de Fermat ne fournit pas un certificat général de primalité. Dans un cours, la sortie structurée relie directement la définition au reste calculé.

Dans une suite de tests, elle permet de conserver des vecteurs connus de pseudopremiers et de non-pseudopremiers sans dépendre d’une bibliothèque mathématique ni de conversions propres à une machine. Pour explorer le phénomène, comparez plusieurs bases autorisées en gardant n fixe et observez l’importance du témoin choisi. Interprétez un résultat vrai comme une démonstration des limites du test de Fermat, jamais comme une autorisation d’accepter le nombre en tant que premier dans un code cryptographique ou sensible.

Présenter un pseudopremier classique

Vérifiez qu’un composé connu comme 341 satisfait la congruence de Fermat en base 2 et examinez le reste exact.

Préparer des exercices de théorie des nombres

Contrôlez les corrigés qui demandent si un composé donné est pseudopremier pour une base déterminée.

Tester des implémentations arithmétiques

Employez des résultats structurés et déterministes comme vecteurs de référence pour l’exponentiation modulaire ou du code pédagogique de primalité.

Quand n est-il pseudopremier de Fermat en base a ?

Il doit être composé et vérifier que a^(n-1) est congru à 1 modulo n pour la base fournie.

Pourquoi un n premier est-il refusé ?

Les nombres premiers satisfont normalement la congruence de Fermat, mais le terme pseudopremier ne concerne que les composés ; accepter un premier répondrait à une autre question.

Un résultat vrai prouve-t-il que n est premier ?

Non. Le vérificateur a déjà établi que n est composé. Un résultat vrai montre précisément comment ce composé trompe le test pour une base.

Quel est le tarif ?

L’outil du navigateur effectue localement le même calcul.

341 est-il un pseudopremier de Fermat ?

Oui, en base 2. 341 est composé, mais 2^340 laisse un reste de 1 dans la division par 341 : il réussit donc le test de Fermat dans cette base. Avec une autre base, le même nombre peut échouer ; indiquez toujours la base.

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/fermat-pseudoprime-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/fermat-pseudoprime-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":"341","a":"2"}'
{
  "n": "341",
  "a": "2"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.fermat_pseudoprime_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.

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

Ce que signifie réellement un résultat positif

Lorsque passes_fermat_test et is_fermat_pseudoprime valent vrai, le composé fourni a trompé le test de Fermat pour cette base précise. Cela ne signifie pas que n est premier, probablement premier ou pseudopremier pour toutes les bases.

Utilisation pour l’apprentissage et la vérification

Un exemple classique prend n = 341 et la base a = 2. L’API facture $0.002 par paire vérifiée, tandis que le navigateur exécute localement le même calcul déterministe.

Pourquoi saisir n et a sous forme de chaînes ?

Les chaînes décimales préservent chaque chiffre dans l’API et le navigateur, même au-delà de la plage sûre des nombres JavaScript ordinaires.

Consulter la documentation complète du KIT →