2674 - IncDecRec
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.
Date de intrare
Se va introduce de la tastatură un număr natural care va fi transmis ca perimetru
Date de ieșire
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.".
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.
Rezolvare
def IncDecRec(n): # Verificăm dacă numărul este în intervalul specificat if n < 0 or n > 999999999: print("Datele de intrare nu corespund restricțiilor impuse.") return else: print("Datele de intrare corespund restricțiilor impuse.") # Cazul de bază if n == 0: return 0 # Cazul general last_digit = n % 10 if last_digit % 2 == 1: last_digit -= 1 else: last_digit += 1 return IncDecRec(n // 10) * 10 + last_digit print(IncDecRec(4321)) # Output: 5230 #Aceasta va afișa mesajul "Datele de intrare corespund restricțiilor impuse." și va returna numărul obținut prin aplicarea regulilor asupra numărului de intrare.