0106 - Minim3

From Bitnami MediaWiki

Sursa: 0106 - Minim3


Cerinţa[edit | edit source]

Se dau 3 numere întregi numar1, numar2 și numar3. Calculaţi minimul celor 3 numere date.

Date de intrare[edit | edit source]

Programul citește de la tastatură numerele numar1, numar2 și numar3, separate prin câte un spațiu.

Date de ieșire[edit | edit source]

Programul va afişa pe ecran cel mai mic dintre numerele citite.

Restricţii şi precizări[edit | edit source]

  • numar1, numar2, numar3 ∈ ℤ
  • abs(numar1), abs(numar2), abs(numar3) < 1.000.000.000
  • abs - valoarea absolută

Exemplu[edit | edit source]

Intrare
125 68 200
Ieșire
Datele introduse corespund restricțiilor impuse.
68


Intrare
abc 63.5 20
Ieșire
Datele introduse nu corespund restricțiilor impuse.


Intrare
-25 20 1000000001
Ieșire
Datele introduse nu corespund restricțiilor impuse.


Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 0106 - Minim 3

def validare_date_numere(numar1: str, numar2: str, numar3: str) -> bool:

   try:
       int(numar1)
       int(numar2)
       int(numar3)
       
       return True
   except ValueError:
       return False
   
   

def validare_valori(numar1: int, numar2: int, numar3: int) -> bool:

   if len(str(abs(numar1))) < 10 and len(str(abs(numar2))) < 10 and len(str(abs(numar3))) < 10:
       return True
   else:
       return False
   
   

def minim3(*args) -> int:

   return min(args)


if __name__ == "__main__":

   linie1 = input()
   linie1 = linie1.split(" ")
   
   numar1, numar2, numar3 = linie1[0], linie1[1], linie1[2]
   
   if validare_date_numere(numar1, numar2, numar3):
       numar1, numar2, numar3 = int(numar1), int(numar2), int(numar3)
       
       if validare_valori(numar1, numar2, numar3):
           print("Datele de intrare corespund restricțiilor impuse.")
           print(minim3(numar1, numar2, numar3))
           
       else:
           print("Datele de intrare nu corespund restricțiilor impuse.")
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")
       

</syntaxhighlight>

Rezolvare ver. 2[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 0106 - Minim 3

def validare_date_numere(numar1: str, numar2: str, numar3: str) -> bool:

   try:
       int(numar1)
       int(numar2)
       int(numar3)
       
       return True
   except ValueError:
       return False
   
   

def validare_valori(numar1: int, numar2: int, numar3: int) -> bool:

   if len(str(abs(numar1))) < 10 and len(str(abs(numar2))) < 10 and len(str(abs(numar3))) < 10:
       return True
   else:
       return False
   
   

def minim3(numar1: int, numar2: int, numar3: int) -> int:

   minim: int = numar1
   if numar2 < minim:
       minim = numar2
   if numar3 < minim:
       minim = numar3
   
   return minim


if __name__ == "__main__":

   linie1 = input()
   linie1 = linie1.split(" ")
   
   numar1, numar2, numar3 = linie1[0], linie1[1], linie1[2]
   
   if validare_date_numere(numar1, numar2, numar3):
       numar1, numar2, numar3 = int(numar1), int(numar2), int(numar3)
       
       if validare_valori(numar1, numar2, numar3):
           print("Datele de intrare corespund restricțiilor impuse.")
           print(minim3(numar1, numar2, numar3))
           
       else:
           print("Datele de intrare nu corespund restricțiilor impuse.")
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")
       

</syntaxhighlight>