3985 - Suma C2: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
Dragos1234 (talk | contribs)
Line 7: Line 7:


== Date de ieșire ==  
== Date de ieșire ==  
Acest program primește un număr '''n''' de la utilizator, reprezentând numărul de numere naturale pe care utilizatorul dorește să le introducă. Programul verifică dacă '''n''' este între 1 și 1000, altfel va afișa o eroare.
Acest program primește un număr '''n''' de la utilizator, reprezentând numărul de numere naturale pe care utilizatorul dorește să le introducă. Programul verifică dacă '''n''' este între '''1 și 1000''', altfel va afișa o eroare.


În continuare, programul primește '''n''' numere naturale de la utilizator, verificând dacă fiecare număr este mai mic decât '''1.000.000.000'''. Dacă se introduce un număr mai mare, programul va afișa o eroare și va întrerupe introducerea de date.
În continuare, programul primește '''n''' numere naturale de la utilizator, verificând dacă fiecare număr este mai mic decât '''1.000.000.000'''. Dacă se introduce un număr mai mare, programul va afișa o eroare și va întrerupe introducerea de date.

Revision as of 18:46, 19 March 2023

Sursa: [1]

Cerinţa

Se dau n numere naturale. Calculați suma celor care au exact două cifre.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire

Acest program primește un număr n de la utilizator, reprezentând numărul de numere naturale pe care utilizatorul dorește să le introducă. Programul verifică dacă n este între 1 și 1000, altfel va afișa o eroare.

În continuare, programul primește n numere naturale de la utilizator, verificând dacă fiecare număr este mai mic decât 1.000.000.000. Dacă se introduce un număr mai mare, programul va afișa o eroare și va întrerupe introducerea de date.

Apoi, programul calculează suma tuturor numerelor cu două cifre din lista de numere introduse folosind funcția definită suma_doua_cifre. Funcția parcurge lista de numere și adună numerele cu două cifre. Suma este apoi returnată și afișată în consolă.

Restricţii şi precizări

  • 1 ⩽ n ⩽ 1000
  • cele n numere citite vor fi mai mici decât 1.000.000.000.

Exemplul 1

Intrare
5
1000 20 3 41 576
Ieșire
Suma numerelor cu două cifre este: 61


Exemplul 2

Intrare
2
541 99
Ieșire
Suma numerelor cu două cifre este: 99


Exemplul 3

Intrare
1001
Ieșire
Eroare: Numărul n trebuie să fie între 1 și 1000.


Rezolvare

<syntaxhighlight lang="python" line>

  1. 3985

def suma_doua_cifre(numere):

   S = 0
   for num in numere:
       if len(str(num)) == 2:
           S += num
   return S

try:

   n = int(input("Introduceți numărul de numere naturale (1 ≤ n ≤ 1000): "))
   if not (1 <= n <= 1000):
       raise ValueError("Numărul n trebuie să fie între 1 și 1000.")

except ValueError as e:

   print("Eroare:", e)

else:

   numere = []
   for i in range(n):
       try:
           num = int(input("Introduceți un număr natural mai mic decât 1.000.000.000: "))
           if num >= 1000000000:
               raise ValueError("Numărul trebuie să fie mai mic decât 1.000.000.000.")
       except ValueError as e:
           print("Eroare:", e)
           break
       else:
           numere.append(num)
   S = suma_doua_cifre(numere)
   print("Suma numerelor cu două cifre este:", S)


</syntaxhighlight>