Section courante

A propos

Section administrative du site

Introduction

Les algorithmes de théorie des nombres sont des méthodes et techniques s'appuyant sur les concepts de la théorie des nombres, une branche des mathématiques étudiant les propriétés et les relations des nombres entiers. Ces algorithmes jouent un rôle clef en informatique, cryptographie, et sciences des données. Ils incluent des procédures pour vérifier la primalité, factoriser des nombres, calculer des restes, et résoudre des équations dans les entiers, entre autres.

Voici les principales catégories d'algorithmes en théorie des nombres :

Cas d'utilisation des algorithmes de théorie des nombres

Algorithme d'Euclide pour le PGCD

L'algorithme d'Euclide calcule le plus grand commun diviseur (PGCD) de deux nombres entiers a et b. Voici le pseudo-code :

* Entrée : Deux entiers a et b
* Sortie : PGCD de a et b

MODULE PGCD(ref a,ref b)
   BOUCLE TANT QUE b ≠ 0
      r ← a mod b
      Remplacer a par b et b par r
   FIN BOUCLE TANT QUE
   a contient le PGCD

Nombre premier

Un algorithme de nombre premier est un algorithme conçu pour déterminer si un nombre donné est premier ou non, ou pour générer des nombres premiers jusqu'à une certaine limite. Un nombre premier est un entier naturel supérieur à 1 qui n'a que deux diviseurs : 1 et lui-même. Ces algorithmes sont essentiels en théorie des nombres et en cryptographie, notamment pour les clefs de chiffrement dans les systèmes de sécurité informatique.

Types d'algorithmes pour les nombres premiers

Il existe plusieurs types d'algorithmes pour tester la primalité ou pour générer des nombres premiers :

Algorithme

Voici la méthode de division simple de l'algorithme de test de primalité :

MODULE NombreFacteur(N)
   Count ← 2
   Racine ← | Sqrt(N) |
   BOUCLE POUR I ← 2 JUSQU'A Racine FAIRE
      SI N mod I = 0 ALORS
         Count ← Count + 1
      FIN SI
   FIN BOUCLE POUR
   RETOURNE Count

MODULE Premier(N)
   SI NombreFacteur(N) = 2 ALORS
      RETOURNE VRAI
   SINON
      RETOURNE FAUX
   FIN SI

Le Crible d'Ératosthène est un algorithme classique pour trouver tous les nombres premiers jusqu'à une limite n. Son principe repose sur l'élimination progressive des multiples de chaque nombre premier, en commençant par 2. Voici l'algorithme du Crible d'Ératosthène :

* Entrée : un nombre entier n
* Sortie : liste des nombres premiers jusqu'à n

MODULE ListeNombresPremiers(n)
   Créer un tableau booléen is_prime de taille n + 1 et initialiser tous les éléments à VRAI
   * 0 et 1 ne sont pas premiers
   is_prime[0] ← FAUX
   is_prime[1] ← FAUX
   POUR CHAQUE entier p de 2 à √n FAIRE
      SI is_prime[p] est VRAI ALORS
         POUR CHAQUE multiple de p (de p2 à n, avec un pas de p) FAIRE
            is_prime[multiple] ← FAUX
         FIN BOUCLE CHAQUE
      FIN SI
   FIN BOUCLE POUR CHAQUE
   RETOURNE tous les indices de is_prime étant encore VRAI (ce sont les nombres premiers)


Dernière mise à jour : Dimanche, le 12 mars 2006