0446 - Cif Max 3

From Bitnami MediaWiki
Revision as of 15:59, 29 April 2023 by Tuca Liviu Razvan (talk | contribs) (Pagină nouă: ==Cerință== Se citește de la tastatură un '''număr natural''' de 3 cifre. Să se afișeze pe ecran cea mai mare cifră a sa. ==Date de intrare== Programul va citi de la tastatură un '''număr natural''', de 3 cifre. ==Date de ieșire== Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran cea mai '''mare''' cifră a numărului citit.În caz contrar, se va afișa pe ecran: "Date...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință[edit | edit source]

Se citește de la tastatură un număr natural de 3 cifre. Să se afișeze pe ecran cea mai mare cifră a sa.

Date de intrare[edit | edit source]

Programul va citi de la tastatură un număr natural, de 3 cifre.

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran cea mai mare cifră a numărului citit.În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări[edit | edit source]

  • Numărul citit de la tastatură este natural, de 3 cifre

Exemplul 1[edit | edit source]

Intrare
187
Ieșire
Datele de intrare corespund restricțiilor impuse.
8

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="1"> def validare(numar):

   """
   Verifică dacă numărul dat respectă restricțiile impuse.
   Args:
       numar (int): Numărul de verificat.
   Returns:
       bool: True dacă numărul respectă restricțiile, False în caz contrar.
   """
   if 99 < numar < 1000:  # verificăm dacă numărul este între 99 și 1000 (dar nu inclusiv)
       return True
   return False


def cifra_maxima(numar):

   """
   Afișează cifra maxima a unui număr natural de trei cifre.
   Args:
       numar (int): Numărul de trei cifre de verificat.
   Returns:
       int: Cifra maxima a numărului.
   """
   # Extragem cifrele numărului
   sute = numar // 100
   zeci = numar % 100 // 10
   unitati = numar % 10
   # Găsim cifra cea mai mare
   if sute > zeci:
       if sute > unitati:
           return sute
   elif zeci > unitati:
       return zeci
   else:
       return unitati


if __name__ == "__main__":

   numar = int(input("Introduceti un numar natural: "))  # citim numărul de la tastatură
   if validare(numar):  # dacă numărul respectă restricțiile impuse
       print("Datele de intrare corespund restricțiilor impuse.")
       print(cifra_maxima(numar))  # afișăm cifra maxima
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")  # afișăm un mesaj de eroare

</syntaxhighlight>