3275 - Nr Sum Cif Max: Difference between revisions

From Bitnami MediaWiki
 
Line 6: Line 6:


==Date de ieșire==
==Date de ieșire==
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.
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==
==Restricții și precizări==

Latest revision as of 18:02, 22 April 2023

Cerință[edit]

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]

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

Date de ieșire[edit]

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]

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

Exemplul 1[edit]

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

Rezolvare[edit]

Rezolvare ver. 1[edit]

<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>