1015 - Sum Vec
Cerința
Se consideră un șir cu n elemente, numere naturale. Folosind metoda Divide et Impera, determinați suma elementelor acestui șir.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale șirului.
Date de ieșire
Programul va afișa pe ecran numărul S, reprezentând suma cerută.
Restricții și precizări
1 ≤ n ≤ 1000- elementele șirului vor fi mai mici decât
1.000.000 - se recomandă folosirea metodei Divide et Impera
Exemplul 1
Intrare
6 4 1 8 4 3 5
Ieșire
25
Exemplul 2
Intrare
4 4 1 8
Ieșire
Trebuie să introduceți exact 4 elemente. Încercați din nou.
Rezolvare
<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>