0516 - SumSec1
Sursa: https://www.pbinfo.ro/probleme/516/sumsec1 0516 - SumSec1]
Cerinţa
Se dă un vector format din n elemente, numere naturale. Calculați suma elementelor din secvența determinată de primul și ultimul element impar.
Date de intrare
Programul va citi de la tastatură numărul n, apoi cele n elemente ale vectorului.
Date de ieșire
Programul va fișa pe ecran numărul S, reprezentând suma calculată.
Restricţii şi precizări
- 1 ≤ n ≤ 1000
- elementele vectorului vor fi mai mici decât 1.000.000
- vectorul va conţine cel puțin un element impar
Exemplu
- Intrare
- 8
- 12 10 15 6 7 10 19 14
- Ieșire
- 5 4
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line>
- 0516 - SumSec1
n = int(input("Introduceți numărul de elemente din vector: ")) v = list(map(int, input("Introduceți elementele vectorului: ").split()))
- Căutăm primul și ultimul element impar din vector
first_odd = -1 last_odd = -1 for i in range(n):
if v[i] % 2 == 1: if first_odd == -1: first_odd = i last_odd = i
- Calculăm suma elementelor din secvența dată
sum = 0 if first_odd != -1 and last_odd != -1:
for i in range(first_odd, last_odd + 1): sum += v[i]
- Afisăm suma
print(sum) </syntaxhighlight>