Calcul la liste des nombres premiers

      Information sur le code

Calcul la liste des nombres premiers, avec un crible de Ératosthène. Attention : Ne pas abuser utiliser de valeur trop importantes... Auteur : Damien Seguy (Nexen)

Le crible   
Un nombre est dit premier, s'il admet 2 diviseurs distincts (lui-même et l'unité). 1 n'est donc pas premier.


Information sur les mises à jour

Dernière mise à jour :

    14 Aout 2019
    fonctionnement du code vérifié
    modification de la description

2 752  vues
Compatibilité du code
PHP 5, PHP 7 et PHP 8
  code source classé dans   Mathématiques
  code source classé dans   Mathématiques
 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
 27    
 28    
 29    
 30    
 31    
 32    
 33    
 34    
                               
/*------------------------------*/
/*
Titre : Calcul la liste des nombres premiers

Date édition : 14 Fev 2019
Date mise a jour : 14 Aout 2019

Rapport de la maj:
- fonctionnement du code vérifié
- modification de la description
*/
/*------------------------------*/?>
<?php

function erastothene($prem){
$lesprems = array(2, 3, 5);
$max = max($lesprems);
while($max*$max < $prem){
$lesprems = erastothene($max*$max);
$max = max($lesprems);
}

$test = range(max($lesprems)+1, min($prem, max($lesprems)*max($lesprems)-1
));
foreach ($lesprems as $l){
reset($test);
foreach ($test as $cle => $t) {
// while(list($cle, $t) = each($test)){
if ($t % $l == 0) {unset($test[$cle]); }
}
}
return array_merge($lesprems, $test);
}
?>

Exemple :

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
 27    
                                            
$out = erastothene(50); ?>

<pre>
<?php print_r ( $out ) ?>
</pre>

Affiche :

Array
(
[0] => 2
[1] => 3
[2] => 5
[3] => 7
[4] => 11
[5] => 13
[6] => 17
[7] => 19
[8] => 23
[9] => 29
[10] => 31
[11] => 37
[12] => 41
[13] => 43
[14] => 47
)

      Fonctions du code - Doc officielle PHP

Détail    php.net  
Description
Versions PHP
    array
Crée un tableau
PHP 4, 5, 7 et 8
    array_merge
Fusionne plusieurs tableaux en un seul
PHP 4, 5, 7 et 8
    max
La plus grande valeur
PHP 4, 5, 7 et 8
    min
La plus petite valeur
PHP 4, 5, 7 et 8
    print_r
Affiche des informations lisibles pour une variable
PHP 4, 5, 7 et 8
    range
Crée un tableau contenant un intervalle d'éléments
PHP 4, 5, 7 et 8
    reset
Remet le pointeur interne de tableau au début
PHP 4, 5, 7 et 8
    return
Retourne le controle du programme au module appelant
PHP 4, 5, 7 et 8
    unset
Détruit une variable
PHP 4, 5, 7 et 8


 Autres snippets qui pourraient vous intéresser

Calcul si deux nombres sont premiers entre eux

Compatibilité : PHP 5, PHP 7, PHP 8

Détermine si deux nombres sont premiers entre eux. 2 nombres entiers sont premiers entre eux si leur PGCD vaut 1

Afficher les nombres premiers

Compatibilité : PHP 5, PHP 7, PHP 8

La fonction permet d'afficher les nombres premiers compris entre 0 et $n (compris). Code compatible php 5, php 7 et php 8.

Liste des nombres parfaits - PHP Sources

Compatibilité : PHP 5, PHP 7, PHP 8

Génère la liste des nombres parfaits. La fonction calcule tous les nombres parfaits jusqu'à $n et les renvoie dans un tableau.

* Requêtes exécutées avec Recherche Contextuelle

  Les derniers scripts PHP / MySQL

Net2ftp 1.4

logo net2ftp
Langue langue fr
Date  hier
Taille 5 Mo
Catégorie Upload

EXtplorer File Manager 3.0.0

logo eXtplorer File Manager
Langue langue en
Date  hier
Taille 1 Mo
Catégorie Upload

Elgg 6.3.3

logo Elgg
Langue langue fr
Date  hier
Taille 48 Mo
Catégorie Social-network

OsCommerce 4.14.6

logo osCommerce
Langue langue fr
Date  hier
Taille 280 Mo
Catégorie Ecommerce

NopCommerce 4.90.4

logo nopCommerce
Langue langue fr
Date 20 Mars 2026
Taille 41 Mo
Catégorie Ecommerce

Zen Cart 2.1.0

logo Zen Cart
Langue langue fr
Date 19 Mars 2026
Taille 12 Mo
Catégorie Ecommerce

  14 Fév 2019

Information sur les mises à jour

Dernière mise à jour :

    14 Aout 2019
    fonctionnement du code vérifié
    modification de la description

2 752 Vues
Compatibilité du code
PHP 5, PHP 7, PHP 8
46 codes

Catégorie :  Mathématiques

Affiche la série de Fibonacci
Affiche les nombres premiers compris entre 0 à $n
Affiche toute les racines carrés à partir d'un entier
Améliore la fonction PHP Floor () avec Précision
Arrondi au multiple supérieur
Arrondi un nombre entier et décimal
Calcul de l'équation de la droite de régression linéaire
Calcul des modules et arguments d'un nombre complexe, saisi arithmétiquement
Calcul du nombre Pi àl'infini
Calcul du triangle de pascal
Calcul l'hypoténuse de 2 nombres
Calcul la distance entre 2 points en km
Calcul la factorielle de manière récursive
Calcul la liste des nombres premiers
Calcul la puissance d'un nombre
Calcul la racine carré d'un nombre
Calcul le carré d'un nombre entier ou décimal
Calcul le carré, cube et racine carrée via un formulaire
Calcul le cube d'un nombre
Calcul le PGCD de 2 entiers
Calcul le PPCM de 2 entiers
Calcul le sinus en radian
Calcul les diviseurs d'un entier
Calcul les pourcentages
Calcul les taux d'intéret en PHP
Calcul si deux nombres sont premiers entre eux
Calculs sur 1 Triangle avec le théorème de Pythagore
Conversion binaire <-> décimal ET hexadécimal <-> décimal
Conversion de coordonnées cartésiennes en polaire
Conversion de coordonnées polaires en cartésiennes
Distance en mètre entre deux points avec coordonnées GPS
Divise 2 nombres avec $a et $b en paramètre
Division avec calcul du reste
Division euclidienne avec Quotient et Reste dans un tableau
Elever $x à la puissance $y
Fonction récursive calculant la factorielle d'un nombre.
Fractionne en PHP 1 nombre en dividende et quotient
Liste des nombres parfaits
Max2scale ext PHP
Passe 1 entier base 10 en base 2
Régression Polynomiale de degré 3
Régression Polynomiale de degré 4
Trouve une distance euclidienne en PHP
Vérifie la parité d'un nombre
Vérifie si un entier est pair ou impair avec le modulo
Vérifie si un nombre est multiple d'un autre