311
Cerința
Scrieți funcția recursivă IncDecRec
care primind ca parametru un număr natural n
, returnează numărul obținut din n
prin scăderea cu 1
a fiecărei cifre impare și creșterea cu 1
a fiecărei cifre pare.
Restricții și precizări
0 ≤ n ≤ 999.999.999
- Numele funcției este
IncDecRec
. - Se recomandă utilizarea recursivității în rezolvarea problemei. De asemenea, se recomandă să nu se folosească alte funcții suplimentare.
Exemplu
IncDecRec(4321) = 5230
.
int IncDecRec(int n) { int vec[10]; int p = 0; if(n == 0) vec[0]=0 , p++; while(n) { vec[p]=n%10; p++; n/=10; } for(int i = 0 ; i < p ; ++i) if(vec[i]%2==0) vec[i]++; else vec[i]--; int val = 0; for(int i = p-1 ; i >= 0 ; --i) val = val * 10 + vec[i]; return val; }
Comentarii