1015 - Sum Vec
Cerința[edit | edit source]
Se consideră un șir cu n
elemente, numere naturale. Folosind metoda Divide et Impera, determinați suma elementelor acestui șir.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n
, iar apoi cele n
elemente ale șirului.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran numărul S
, reprezentând suma cerută.
Restricții și precizări[edit | edit source]
1 ≤ n ≤ 1000
- elementele șirului vor fi mai mici decât
1.000.000
- se recomandă folosirea metodei Divide et Impera
Exemplul 1[edit | edit source]
Intrare
6 4 1 8 4 3 5
Ieșire
25
Exemplul 2[edit | edit source]
Intrare
4 4 1 8
Ieșire
Trebuie să introduceți exact 4 elemente. Încercați din nou.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python3" line="1"> def citeste_sir():
n = int(input("Introduceți numărul de elemente: ")) if 1 <= n <= 1000: input_line = input("Introduceți elementele șirului separate prin spațiu: ") arr = [int(x) for x in input_line.split()] # Verificăm dacă numărul de elemente este corect if len(arr) != n: print(f"Trebuie să introduceți exact {n} elemente. Încercați din nou.") return citeste_sir() # Recitim șirul dacă nu sunt suficiente elemente for element in arr: # Verificăm restricția pentru elemente if element >= 1000000: print("Elementul trebuie să fie mai mic decât 1.000.000. Încercați din nou.") return citeste_sir() # Recitim șirul dacă restricția nu este îndeplinită return arr else: print("Numărul de elemente trebuie să fie între 1 și 1000. Încercați din nou.") return citeste_sir() # Recitim șirul dacă restricția nu este îndeplinită
- Citirea datelor de intrare
arr = citeste_sir()
- Calculul și afișarea rezultatului
rezultat = suma_divide_et_impera(arr, 0, len(arr) - 1) print(f"Suma elementelor șirului este: {rezultat}") </syntaxhighlight>