/* Fichier recurs.cpp : exemples de récursivité Matière du 28 mai Une question de 10 points à l'intra */ #include #include using namespace std; // pour consulter l'écran d'exécution void continuer() { char reponse ; cout << "\nAppuyez sur une lettre suivie de Entree " ; cin >> reponse ; } // somme des chiffres d'un entier n > 0 int somChif(int n) { if (n < 10) return n; else return n % 10 + somChif(n / 10); } int somChif2(int n) { int somme = 0; while (n > 0) { somme += n % 10; n /= 10; } return somme; } void afficherEnvers(int n) { if (n < 10) cout << n << endl; else { cout << n % 10 ; afficherEnvers(n / 10); } } void afficherEnvers2(int n) { while (n > 0) { cout << n % 10 ; n /= 10; } cout << endl ; } // le k-ième chiffre à partir de la droite d'un entier n > 0 int chiffre(int n, int k) { if (k == 1) return n % 10; else return chiffre(n / 10, k - 1); } int chiffre2(int n, int k) { for (int j = 1; j < k; j++) n /= 10; return n % 10; } int main() { cout << "Somme des chiffres de 7321 : " << somChif(7321) << endl; cout << "Somme des chiffres de 7321 : " << somChif2(7321) << endl; afficherEnvers(8765); afficherEnvers2(8765); cout << "Le 4ieme chiffre a partir de la droite de 157321 : " << chiffre(157321, 4) << endl; cout << "Le 4ieme chiffre a partir de la droite de 157321 : " << chiffre2(157321, 4) << endl; continuer(); return 0; } /* Exécution : Somme des chiffres de 7321 : 13 Somme des chiffres de 7321 : 13 5678 5678 Le 4ieme chiffre a partir de la droite de 157321 : 7 Le 4ieme chiffre a partir de la droite de 157321 : 7 Appuyez sur une lettre suivie de Entree */