Adloun

programmation Java (école d'ingénieur) · Chapitre 4 · Exercice de TD

Somme des chiffres

Méthodes · niveau 2

Énoncé

  • Écrire une méthode itérative static int sommeChiffres(int n) qui retourne la somme des chiffres décimaux de (). Indication : n % 10 est le dernier chiffre, n / 10 retire ce chiffre.
  • En écrire une version récursive.
  • La racine numérique de s'obtient en remplaçant par la somme de ses chiffres jusqu'à obtenir un seul chiffre. Écrire la méthode correspondante et calculer la racine numérique de .

Corrigé


static int sommeChiffres(int n) {               // itérative, n >= 0
    int s = 0;
    while (n > 0) {
        s = s + n % 10;
        n = n / 10;
    }
    return s;
}

static int sommeChiffresRec(int n) {            // récursive, n >= 0
    if (n < 10) return n;
    return n % 10 + sommeChiffresRec(n / 10);
}

static int racineNumerique(int n) {
    while (n >= 10) n = sommeChiffres(n);
    return n;
}

On obtient sommeChiffres(2026) pour les deux versions. Pour : la somme des chiffres vaut , puis ; la racine numérique est . La version itérative modifie son paramètre n : c'est sans danger, puisque c'est une copie.

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 →