3275 - Nr Sum Cif Max

From Bitnami MediaWiki

Cerință[edit | edit source]

Se dau 3 numere naturale, fiecare având câte două cifre. Afișați-le pe acelea care au suma cifrelor maximă.

Date de intrare[edit | edit source]

Programul citește de la tastatură cele trei numere, separate prin spații.

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 va afișa pe ecran, separate prin câte un spațiu, numerele care au suma cifrelor maximă. Dacă sunt mai multe, acestea se vor afișa în ordinea în care au fost introduse. Î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]

  • se garantează că numerele introduse sunt de două cifre;

Exemplul 1[edit | edit source]

Intrare
17 22 26
Ieșire
Datele de intrare corespund restricțiilor impuse.
17 26

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="1"> def validare(numar1, numar2, numar3):

   # Convertim argumentele in numere intregi.
   numar1 = int(numar1)
   numar2 = int(numar2)
   numar3 = int(numar3)
   # Verificam daca fiecare numar se afla intre 10 si 99.
   if 9 < numar1 < 100 and 9 < numar2 < 100 and 9 < numar3 < 100:
       return True
   return False


def numere_cu_suma_maxima(numar1, numar2, numar3):

   # Calculam suma cifrelor fiecarui numar.
   suma1 = sum(int(c) for c in str(numar1))
   suma2 = sum(int(c) for c in str(numar2))
   suma3 = sum(int(c) for c in str(numar3))
   # Determinam suma maxima dintre cele trei numere.
   suma_maxima = max(suma1, suma2, suma3)
   # Initializam o lista goala pentru a adauga numerele cu suma maxima.
   numere = []
   if suma1 == suma_maxima:
       numere.append(numar1)
   if suma2 == suma_maxima:
       numere.append(numar2)
   if suma3 == suma_maxima:
       numere.append(numar3)
   return numere


if __name__ == "__main__":

   # Citim cele trei numere de la tastatura.
   numar1, numar2, numar3 = input("Introduceti cele 3 numere separate prin spatiu: ").split()
   # Calculam numerele cu suma maxima.
   numere = numere_cu_suma_maxima(numar1, numar2, numar3)
   # Verificam daca cele trei numere respecta conditiile impuse.
   if validare(numar1, numar2, numar3):
       print("Datele de intrare corespund restricțiilor impuse.")
       # Afisam numerele cu suma maxima, separate prin spatiu.
       print(*numere)
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>