Algorithme
Calcul de nombres premiers
 
Objectif : On souhaite écrire un programme Java de calcul et d'affichage des n premiers nombres premiers. Un nombre entier est premier s’il n’est divisible que par 1 et par lui-même. On opérera une implantation avec des boucles for imbriquées.

Exemple : 19 est un nombre premier
 
 

Spécifications de l’algorithme :
 
Algorithme Premier
   Entrée: n  ÎN
   Sortie: nbr   ÎN
   Local: Est_premier  Î {Vrai , Faux}
             divis,compt  ÎN²

début
 lire(n);
 compt  ¬  1;
 ecrire(2);
 nbr ¬ 3;
 Tantque(compt < n) Faire
  divis ¬ 3; 
  Est_premier ¬ Vrai;
  Répéter
    Si reste(x par divis) = 0 Alors
     Est_premier ¬ Faux
    Sinon
     divis ¬ divis+2
    Fsi
  jusquà (divis > nbr / 2)ou (Est_premier=Faux);
  Si Est_premier =Vrai Alors
    ecrire(nbr);
    compt ¬ compt+1
  Fsi;
  nbr ¬  nbr+1
 Ftant 
FinPremier
 

Implantation en Java

Ecrivez le programme Java complet qui produise le dialogue suivant à l’écran (les caractères gras représentent ce qui est écrit par le programme, les italiques ce qui est entré au clavier) :
 

Combien de nombres premiers :  5
   2
   3
   5
   7
   11

Proposition de squelette de classe Java à implanter
avec deux boucles for imbriquées :

On étudie la primalité des nombres uniquement impairs

class ApplicationComptPremiers2 {
      static void main(String[ ] args) {
       .....

       ......
      }
   }

La méthode main affiche la liste des nombres premiers demandés.

Remonter