Passoir d\'Eratosthenes

Dans les mathématiques , le passoir de d'Eratosthenes est un algorithme simple et antique pour trouver tous les nombres premiers jusqu'à un nombre entier spécifique. C'est le prédécesseur au passoir moderne de d'Atkin , qui est plus rapide mais plus complexe. Il a été créé par le Eratosthenes , un mathématicien du grec ancien . La factorisation de roue de est souvent appliquée sur la liste de nombres entiers à examiner pour assurer le primality, avant que le passoir d'Eratosthenes soit utilisé, pour augmenter la vitesse.

Algorithme de

Écrire une liste de nombres de 2 au plus grand nombre que vous voulez examiner pour le primality. Appeler ce
  • de la liste A. (c'est la liste de places sur le gauche-main-côté de l'image.) Écrire le numéro 2, le premier nombre premier, dans une autre liste pour amorce trouvé. Appeler ce
  • de la liste B. (c'est la liste sur le droit-main-côté de l'image.) Frapper outre de 2 et de tous les multiples de 2 du
  • de la liste A. Le premier nombre restant dans la liste est un nombre premier. Écrire ce nombre dans le
  • de la liste B. Frapper outre de ce nombre et de tous les multiples de ce nombre de la liste A. Le croisement-au loin des multiples peut être commencé à la place du nombre, car des multiples inférieurs ont été déjà croisés dehors dans des étapes précédentes.
  • Répéter les étapes 4 et 5 jusqu'à ce que plus de nombres ne soient laissés dans la liste A.

    Ce qui suit est le pseudo-code pour l'algorithme :

    limite arbitraire de recherche de // ← 1.000 de limite // supposent que tous les nombres sont principaux d'abord is_prime (i) ← vrai, limite de ∈ d'I pour n dans le √limit : s'is_prime (n) : // éliminent des multiples de chacun perfection, // commençant par sa place is_prime (i) ← faux, ∈ d'I {² de n, ² +n de n, ² +2n de n,…, limite} pour n dans la limite : s'is_prime (n) : copie n

    Ou, plus simplifié :

    limite de = 1000000 sieve$ = corde du " de caractère ; P" ; avec la limite longueur principal = 2 répétition tandis que principal 2 < limite de placer le caractère à l'index de chaque multiple de la perfection de (à l'exclusion de perfection de d'index * 1) dans sieve$ au " ; N" ; principal = index du prochain exemple du " ; P" ; dans le sieve$ après la perfection de d'index répétition de fin imprimer l'index de chaque exemple de " ; P" ; dans le sieve$

    Voir également


    essai de Primality
    Passoir général de champ de nombre de
    Théorie de passoir de
  • .

    Random links:Ichthyothere | Monsieur Thomas Hardy, ęr baronnet | Fulcher de Chartres | Zephaniah Moore rapide | Confédération de Targowica | Tamiz_de_Eratosthenes