1582 - Max Min
print("Datele sunt introduse corect.")
Cerinţa
Date de intrare
Date de ieşire
Restricții și precizări
Exemplu
- Intrare
- 12
- 23
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 35
Rezolvare
<syntaxhighlight lang="python" line>
- citirea numarului de la tastatura
while True:
try:
nr_numere = int(input("Introduceți numărul de numere naturale: "))
if nr_numere <= 0:
raise ValueError("Introduceți un număr natural nenul.")
break
except ValueError as e:
print(f"Eroare: {e}")
- initializarea valorilor pentru suma maxima si minima
max_sum = float('-inf') min_sum = float('inf') numar_max = None numar_min = None
- iteram de nr_numere ori pentru citirea numerelor si determinarea sumei lor
for i in range(nr_numere):
while True:
try:
numar = int(input(f"Introduceți numărul {i + 1}: "))
if numar < 0:
raise ValueError("Introduceți un număr natural pozitiv.")
break
except ValueError as e:
print(f"Eroare: {e}")
# calculam suma cifrelor numarului si verificam daca aceasta este maxima sau minima
suma_cifre = 0
copie_numar = numar
while copie_numar:
suma_cifre += copie_numar % 10
copie_numar //= 10
if suma_cifre > max_sum:
max_sum = suma_cifre
numar_max = numar
if suma_cifre < min_sum:
min_sum = suma_cifre
numar_min = numar
- afisam rezultatele
print("Datele sunt introduse corect.") print(f"Numărul cu suma cifrelor maximă este {numar_max} și suma cifrelor sale este {max_sum}.") print(f"Numărul cu suma cifrelor minimă este {numar_min} și suma cifrelor sale este {min_sum}.")
</syntaxhighlight>