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 retournetruesiddivisen. - 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 47100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
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.