Adloun

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

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 →