Adloun

programmation Java (école d'ingénieur) · Chapitre 4 · Application directe du cours

Nombres premiers

Méthodes · niveau 2

Énoncé

  • Écrire une méthode static boolean estDiviseur(int d, int n) qui retourne true si d divise n.
  • En déduire une méthode static boolean estPremier(int n). On rappelle que et ne sont pas premiers. Pourquoi suffit-il de tester les diviseurs tels que ?
  • Afficher les nombres premiers inférieurs à .

Corrigé


static boolean estDiviseur(int d, int n) {
    return n % d == 0;
}

static boolean estPremier(int n) {
    if (n < 2) return false;
    for (int d = 2; d * d <= n; d++) {
        if (estDiviseur(d, n)) return false;
    }
    return true;
}

Si avec , alors : un nombre composé a toujours un diviseur tel que . Si aucun de cet intervalle ne divise , il n'en existe aucun, et est premier. Pour , on fait une centaine de divisions au lieu de . Le return false dans la boucle termine la méthode dès qu'un diviseur est trouvé. Affichage des premiers inférieurs à :


Premiers < 50 : 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →