10. Stwórz funkcję uint IleCyfr2(ulong liczba), która obliczy, ile jest cyfr "2" w liczbie ulong liczba (liczbę podajemy w reprezentacji dziesiętnej) podanej w parametrze funkcji. Wykorzystaj rekurencję do rozwiązania zadania. Zabroniona jest konwersja liczby na napis. Należy wykorzystać operatory: dzielenia (/)oraz modulo (%).

Odpowiedź :

Odpowiedź:

#include <iostream>

int recursiveDigitNumber(int a) {

   static int counter = 0;

   if (a > 0) {

       if (a % 10 == 2) {

           counter++;

       }

       a /= 10;

       return recursiveDigitNumber(a);

   }

   return counter;

}

int main() {

   int number;

   std::cin >> number;

   std::cout << recursiveDigitNumber(number);

   return 0;

}

Wyjaśnienie: