Affiche les nombres premiers compris entre 0 à $n

La fonction permet d'afficher les nombres premiers compris entre 0 et $n (compris).

Un nombre premier étant un nombre qui possède 2 diviseurs (1 et lui-même).

(1 n'est donc pas premier contrairement à ce qu'on croit généralement car il ne possède qu'un diviseur)

La méthode fonctionne également avec les nombres négatifs et s'utilise comme suit : affichePremiers(50); (pour afficher les nombres premiers entre 0 et 50)



Information sur les mises à jour

Dernière mise à jour :

13 Août 2019
fonctionnement du code vérifié
maintenance du code

07 Mars 2026
refactoring du code en PHP 8

31 990  vues
Compatibilité du code
PHP 5, PHP 7 et PHP 8
  code 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
                    
<?php
/*------------------------------*/
/*
Titre : Affiche les nombres premiers compris entre 0 a $n

Auteur : mercier133
Date édition : 06 Jan 2010
Date mise a jour : 13 Aout 2019

Rapport de la maj:
- fonctionnement du code vérifié
- maintenance du code
Date mise a jour : 07 Mars 2026

Rapport de la maj:
- refactoring du code en PHP 8
*/
/*------------------------------*/

// PHP 5 ET PHP 7

function affichePremiers($n){
echo "Les nombres premiers entre 0 et ".$n." sont : ";
$negatif = false;
if($n<0){
$negatif = true;
$n = -$n;
}
//On prend chaque nombre entre 2 et n (0 et 1 n'étant pas premier)
for($i=2;$i<=$n;$i++){
$nbDiv = 0;//Et on compte le nombre de diviseur
for($j=1;$j<=$i;$j++){
if($i%$j==0){
$nbDiv++;
}
}
if($nbDiv == 2){
//Un nombre premier est un chiffre qui ne possede que 2 diviseur (1 et
// lui-meme)
if($negatif){
echo "-";
}
echo $i.", ";
}
}
}

// PHP 7 ET PHP 8

function affichePremiers(int $n): void {
echo "Les nombres premiers entre 0 et " . abs($n) . " sont : ";

if ($n < 0) {
$n = -$n;
}

// On prend chaque nombre entre 2 et n (0 et 1 n'étant pas premier)
for ($i = 2; $i <= $n; $i++) {
if (estPremier($i)) {
echo $i . ", ";
}
}
}

function estPremier(int $nombre): bool {
if ($nombre < 2) {
return false; // 0 et 1 ne sont pas premiers
}
for ($j = 2; $j <= sqrt($nombre); $j++) {
if ($nombre % $j === 0) {
return false; // Nombre non premier
}
}
return true; // Nombre premier
}
?>
<?php
/*------------------------------*/
/*
Titre : Affiche les nombres premiers compris entre 0 a $n

Auteur : mercier133
Date édition : 06 Jan 2010
Date mise a jour : 13 Aout 2019

Rapport de la maj:
- fonctionnement du code vérifié
- maintenance du code
Date mise a jour : 07 Mars 2026

Rapport de la maj:
- refactoring du code en PHP 8
*/
/*------------------------------*/

// PHP 5 ET PHP 7

function affichePremiers($n){
echo "Les nombres premiers entre 0 et ".$n." sont : ";
$negatif = false;
if($n<0){
$negatif = true;
$n = -$n;
}
//On prend chaque nombre entre 2 et n (0 et 1 n'étant pas premier)
for($i=2;$i<=$n;$i++){
$nbDiv = 0;//Et on compte le nombre de diviseur
for($j=1;$j<=$i;$j++){
if($i%$j==0){
$nbDiv++;
}
}
if($nbDiv == 2){
//Un nombre premier est un chiffre qui ne possede que 2 diviseur (1 et
// lui-meme)
if($negatif){
echo "-";
}
echo $i.", ";
}
}
}

// PHP 7 ET PHP 8

function affichePremiers(int $n): void {
echo "Les nombres premiers entre 0 et " . abs($n) . " sont : ";

if ($n < 0) {
$n = -$n;
}

// On prend chaque nombre entre 2 et n (0 et 1 n'étant pas premier)
for ($i = 2; $i <= $n; $i++) {
if (estPremier($i)) {
echo $i . ", ";
}
}
}

function estPremier(int $nombre): bool {
if ($nombre < 2) {
return false; // 0 et 1 ne sont pas premiers
}
for ($j = 2; $j <= sqrt($nombre); $j++) {
if ($nombre % $j === 0) {
return false; // Nombre non premier
}
}
return true; // Nombre premier
}
?>

Exemple :

 
01
02
03
04
05
06
07
                    
<?php
affichePremiers(50);

// AFFICHE
// Les nombres premiers entre 0 et 50 sont :
// 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47
?>
<?php
affichePremiers(50);

// AFFICHE
// Les nombres premiers entre 0 et 50 sont :
// 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47
?>

      Fonctions du code - Doc officielle PHP

   php.net  
Description
Versions PHP
    abs
Valeur absolue
PHP 4, 5, 7 et 8
    echo
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
    return
Retourne le controle du programme au module appelant
PHP 4, 5, 7 et 8
    sqrt
Racine carrée
PHP 4, 5, 7 et 8

[2]

  • avatar

    Invité

    21 Nov 2021 à 20:23

    Merci beaucoup pour cet exemple

  • avatar

    Invité

    04 Déc 2019 à 16:21

    merci ca change <3

Minimum 10 mots. Votre commentaire sera visible après validation.


 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

Calcul la liste des nombres premiers

Compatibilité : PHP 5, PHP 7, PHP 8

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

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

  Les derniers scripts

PHP 8.5.5

logo PHP
Langue langue us
Date 12 Avril
Taille 32 Mo
Catégorie PHP

PHP 8.4.20

logo PHP
Langue langue us
Date 12 Avril
Taille 30 Mo
Catégorie PHP

Serendipity 2.6.0

logo Serendipity
Langue langue fr
Date 11 Avril
Taille 15 Mo
Catégorie Blogs

Drupal 11.3.6

logo Drupal
Langue langue us
Date 11 Avril
Taille 34 Mo
Catégorie CMS

TYPO3 14.2.0

logo TYPO3
Langue langue fr
Date 10 Avril
Taille 38 Mo
Catégorie CMS

Dolibarr ERP 23.0.1

logo Dolibarr ERP
Langue langue fr
Date 09 Avril
Taille 89 Mo
Catégorie Logiciels
avatar

Mercier133

  06 Jan 2010

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

13 Août 2019
fonctionnement du code vérifié
maintenance du code

07 Mars 2026
refactoring du code en PHP 8

31 990 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