programmation Java (école d'ingénieur) · Chapitre 4 · Exercice de TD
Nombres parfaits
Méthodes · niveau 2
Énoncé
Un entier est parfait s'il est égal à la somme de ses diviseurs stricts (diviseurs autres que lui-même) : .
- Écrire
static int sommeDiviseursStricts(int n). - Écrire
static boolean estParfait(int n). - Afficher les nombres parfaits inférieurs à .
Corrigé
static int sommeDiviseursStricts(int n) {
int s = 0;
for (int d = 1; d < n; d++) {
if (n % d == 0) s = s + d;
}
return s;
}
static boolean estParfait(int n) {
return n > 1 && sommeDiviseursStricts(n) == n;
}
Parfaits < 10000 : 6 28 496 8128
La boucle de main appelle estParfait pour chaque , et chaque appel fait jusqu'à divisions : environ millions de divisions au total, une fraction de seconde. On pourrait n'examiner que les diviseurs , en ajoutant à chaque fois et .
100 % 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.