Zdefiniuj funkcję rekurencyjną suma_cyfr(int n), która wyznaczy sumę cyfr liczby podanej jako parametr. Sprawdź działanie funkcji dla podanych poniżej parametrów.
Wynikiem funkcji suma_cyfr(136) jest 10.
Wynikiem funkcji suma_cyfr(19918) jest 28.
Napisz też szczegółowe komentarze.


Odpowiedź :

Odpowiedź:

#include <iostream>

int digitSum(int n){ //deklaracja funkcji liczącej sumę cyfr

   if(n == 0){ //warunek wyjścia z pętli rekurencji. Wyjdzie gdy na n będzie zerem

       return 0;

   }

   return digitSum(n / 10) + n % 10; // sprawdzamy każdy rząd jedności cyfry i dodajemy je

}

int main() {

   int n;

   std::cin >> n;

   

   std::cout << digitSum(n); //wywołanie funkcji

   return 0;

}

Wyjaśnienie: