<?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
}
?>
Invité
21 Nov 2021 à 20:23Merci beaucoup pour cet exemple
Invité
04 Déc 2019 à 16:21merci ca change <3