0487 - Numarare2: Difference between revisions

From Bitnami MediaWiki
Line 32: Line 32:
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
# 0487 Numarare2
# 0487 Numarare2
def suma_elem_dintre_primul_elem_par_si_ultimul(vector, n):
def nr_elem_cu_val_strict_mai_mare_decat_media_aritm(vector, n):
     a, b = -1, -1
     suma = sum(vector)
    for i in range(n):
    medie = suma / n
        if vector[i] % 2 == 0:
     C = sum(1 for x in vector if x >= medie)
            if a == -1:
     print(C)
                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():
def citire_conform_restrictiilor():
     n = int(input())
     n = int(input())
     if n < 1 or n > 1000:
     if n < 1 or n > 200:
         print("Datele nu corespund restricțiilor impuse.")
         print("Datele nu corespund restricțiilor impuse.")
         exit()
         exit()
     vector = list(map(int, input().split()))
     vector = list(map(int, input().split()))
     for x in vector:
     for x in vector:
         if x >= 100000:
         if x < 0 or x > 1000:
             print("Datele nu corespund restricțiilor impuse.")
             print("Datele nu corespund restricțiilor impuse.")
             exit()
             exit()
Line 65: Line 58:
if __name__ == '__main__':
if __name__ == '__main__':
     vector, n = citire_conform_restrictiilor()
     vector, n = citire_conform_restrictiilor()
     suma_elem_dintre_primul_elem_par_si_ultimul(vector, n)
     nr_elem_cu_val_strict_mai_mare_decat_media_aritm(vector, n)





Revision as of 17:52, 15 March 2023

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">

  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>