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ź:
#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: