0170 - Cif Max Min

From Bitnami MediaWiki
Revision as of 17:46, 28 April 2023 by Tamas Claudia (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sursă: [1]

Cerinţa

Să se scrie un program care să determine suma dintre cea mai mică şi cea mai mare cifră ale unui număr natural citit de la tastatură.

Date de intrare

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

Date de ieşire

Dacă datele introduse sunt corecte, pe ecran se va afișa "Datele introduse sunt corecte.", apoi programul va afişa pe ecran suma dintre cea mai mică şi cea mai mare cifră ale numărului citit. În caz contrar, se va afișa pe ecran mesajul "Datele introduse nu sunt corecte.".

Restricții și precizări

  • numărul citit va fi mai mic decât 2.000.000.000

Exemplu

Intrare
2745
Ieșire
Datele introduse sunt corecte.
9

Rezolvare

<syntaxhighlight lang="python" line>

  1. Verifica daca numarul dat ca argument este mai mic decat 2 miliarde

def verificare_date(numar):

   if numar >= 2000000000:
       return False
   return True
  1. Calculeaza suma dintre cel mai mic si cel mai mare cifra din numar

def determina_suma_min_max(numar):

   minim = min(str(numar)) # Converteste numarul in string si gaseste cea mai mica cifra
   maxim = max(str(numar)) # Converteste numarul in string si gaseste cea mai mare cifra
   return int(minim) + int(maxim) # Converteste cele doua cifre in int si calculeaza suma lor

if __name__ == "__main__":

   numar = int(input("Introduceți un număr: ")) # Primeste de la utilizator un numar intreg
   if verificare_date(numar):
       print("Datele introduse sunt corecte.")
       suma = determina_suma_min_max(numar) # Calculeaza suma dintre cel mai mic si cel mai mare cifra din numar
       print(suma)
   else:
       print("Datele introduse nu sunt corecte.")


</syntaxhighlight>