0824 - CifMaxRec

From Bitnami MediaWiki
Revision as of 09:19, 25 March 2023 by Catalin Moje (talk | contribs)

Cerința

Să se scrie o funcție python care să returneze cifra maximă a unui număr natural transmis ca parametru.

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

  • numele funcției va fi cifmax
  • funcția va avea un parametru reprezentând numărul dat
  • numărul pentru care se calculează cifra maximă va fi mai mic decât 2.000.000.000

Exemplu

cifmax(2050) este 5
cifmax(209074536153) este 9

Rezolvare

def validare_numar(numar):
   if isinstance(numar, int) and numar < 2000000000:
       return True
   return False
def cifra_maxima(numar, cifra_max=0):
   if numar < 10:
       if numar > cifra_max:
           cifra_max = numar
       return cifra_max
   else:
       cifra_curenta = numar % 10
       if cifra_curenta > cifra_max:
           cifra_max = cifra_curenta
       return cifra_maxima(numar // 10, cifra_max)
def main():
   numar = input("Introduceti un numar: ")
   if validare_numar(numar):
       cifra_max = cifra_maxima(numar)
       print(f"Cifra maxima a numarului {numar} este {cifra_max}.")
   else:
       print("Numarul introdus nu este valid.")
if __name__ == '__main__':
   main()