Răspuns :
Răspuns:
Am sa repostez functia f() pentru ca ai cateva greseli la 'if-ul' din primul 'else'
#include <iostream>
using namespace std;
int f(int n)
{
int c;
if (n==0)
{
return 9;
}
else
{
c=f(n/10);
if(n%10) // ###
{
return(n%10); // DIN CAUZA ASTA...EXPLICATIE LAS MAI JOS
}
else
{
return c;
}
}
}
int main()
{
cout << f(5) << endl;
cout << f(0) << endl;
}
Explicație:
###
iti returneaza valoarea 5 pentru ca conditia "if(n%10)" inseamna ca, "daca 5 modulo 10 are rest (restul impartirii > 0), sa iti returneze restul impartirii 5 / 10."
5 / 10 = cat 0 si rest 5 (10 * 0 + 5 = 5)
Modulo (%) iti arata restul unei impartiri.
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că ați găsit conținutul oferit util și inspirațional. Dacă aveți întrebări suplimentare sau doriți asistență, vă încurajăm să ne contactați. Ne-ar face plăcere să reveniți și nu uitați să ne adăugați în lista dumneavoastră de favorite!