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 caz 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="1">
- 0487 Numarare2
def nr_elem_cu_val_strict_mai_mare_decat_media_aritm(vector, n):
suma = sum(vector) medie = suma / n C = sum(1 for x in vector if x >= medie) print(C)
def citire_conform_restrictiilor():
n = int(input()) if n < 1 or n > 200: print("Datele nu corespund restricțiilor impuse.") exit() vector = list(map(int, input().split())) for x in vector: if x < 0 or x > 1000: 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() nr_elem_cu_val_strict_mai_mare_decat_media_aritm(vector, n)
</syntaxhighlight>