2674 - IncDecRec: Difference between revisions
Catalin Moje (talk | contribs) Pagină nouă: ==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 tast... |
Catalin Moje (talk | contribs) No edit summary |
||
Line 15: | Line 15: | ||
==Exemplu== | ==Exemplu== | ||
Introduceți un număr natural: 4321 | |||
Datele de intrare corespund restricțiilor impuse. | |||
Rezultatul este: 5230 | |||
==Rezolvare== | ==Rezolvare== | ||
def IncDecRec(n): | def IncDecRec(n): | ||
if n == 0: | if n == 0: | ||
return 0 | return 0 | ||
last_digit = n % 10 | last_digit = n % 10 | ||
if last_digit % 2 == 1: | if last_digit % 2 == 0: | ||
last_digit += 1 | |||
else: | |||
last_digit -= 1 | last_digit -= 1 | ||
return IncDecRec(n // 10) * 10 + last_digit | |||
#Funcția de validare: | |||
def validate_input(n): | |||
if 0 <= n <= 999_999_999: | |||
print("Datele de intrare corespund restricțiilor impuse.") | |||
return True | |||
else: | else: | ||
print("Datele de intrare nu corespund restricțiilor impuse.") | |||
return False | |||
#Funcția main: | |||
def main(): | |||
n = int(input("Introduceți un număr natural: ")) | |||
if validate_input(n): | |||
print(f"Rezultatul este: {IncDecRec(n)}") | |||
if __name__ == "__main__": | |||
main() |
Revision as of 10:21, 25 March 2023
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
Introduceți un număr natural: 4321 Datele de intrare corespund restricțiilor impuse. Rezultatul este: 5230
Rezolvare
def IncDecRec(n): if n == 0: return 0 last_digit = n % 10 if last_digit % 2 == 0: last_digit += 1 else: last_digit -= 1 return IncDecRec(n // 10) * 10 + last_digit #Funcția de validare: def validate_input(n): if 0 <= n <= 999_999_999: print("Datele de intrare corespund restricțiilor impuse.") return True else: print("Datele de intrare nu corespund restricțiilor impuse.") return False #Funcția main: def main(): n = int(input("Introduceți un număr natural: ")) if validate_input(n): print(f"Rezultatul este: {IncDecRec(n)}") if __name__ == "__main__": main()