0487 - Numarare2
Sursa: - Numarare2
Cerinţa
Se dă un vector cu n numere naturale. Să se determine câte dintre elemente au valoarea strict mai mare decât media aritmetică a elementelor vectorului.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi pe un rând nou va afișa numărul C, reprezentând valoarea cerută. În cazul contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări
- 1 ⩽ n ⩽ 200
- elementele vectorului vor fi cuprinse între 0 și 1.000
Exemple
Exemplul 1
- Intrare
- 5
- 5 0 2 1 4
- Ieșire
- Datele sunt introduse corect.
- 2
Explicație exemplul 1
- Media aritmetică a elementelor este 2.4. În vector sunt 2 elemente cu valoarea strict mai mare decât 2.4: 5 4
Exemplul 2
- Intrare
- 1234
- Ieșire
- Datele nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line>
- 0487 Numarare
def suma_elem_dintre_primul_elem_par_si_ultimul(vector, n):
a, b = -1, -1
for i in range(n):
if vector[i] % 2 == 0:
if a == -1:
a = i
b = i
if a != -1:
S = sum(vector[a:b + 1])
print(S)
else:
print("Nu există niciun număr par.")
def citire_conform_restrictiilor():
n = int(input())
if n < 1 or n > 1000:
print("Datele nu corespund restricțiilor impuse.")
exit()
vector = list(map(int, input().split()))
for x in vector:
if x >= 100000:
print("Datele nu corespund restricțiilor impuse.")
exit()
if n != len(vector):
print("Datele nu corespund restricțiilor impuse.")
exit()
print("Datele sunt introduse corect.")
return vector, n
if __name__ == '__main__':
vector, n = citire_conform_restrictiilor() suma_elem_dintre_primul_elem_par_si_ultimul(vector, n)
</syntaxhighlight>