[Précédent]
[Index] | [Enoncé] | [Version imprimable]
[Prochain]

4.10
  Nombres premiers - Corrigé
Niveau 2
 
 
Fichiers:
  Premiers.java    

 1
 2
 3
 4
 5
 6
 7
 8
 9
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
import java.util.ArrayList;

class Premiers {
    public static void main(String[] args) {
        // un tableau dynamique d'entiers pour stocker les nombres premiers
        ArrayList<Integer> premiers = new ArrayList<Integer>();

        for (int n = 2; n <= 100; ++n) {
            // résultat du test de primalité
            boolean premier = true;
            int diviseur = 1;

            if (n % 2 == 0) {
                // le nombre est pair
                if (n != 2) {
                    premier  = false;
                    diviseur = 2;
                }
            } else {
                double borneMax = Math.sqrt(n);
                for (int i = 3; (premier) && (i <= borneMax); i += 2) {
                    if (n % i == 0) {
                        premier  = false;
                        diviseur = i;
                    }
                }
            } 
            if (premier) {
                premiers.add(n);
            }
        }

        System.out.println("Les nombres premiers compris entre 2 et 100 sont les suivants : ");
        for (Integer i : premiers) {
            System.out.println(i);
        }
    }
}

 


[Précédent]
[Index] | [Enoncé] | [Version imprimable]
[Prochain]