2299 - Media Geometrica

From Bitnami MediaWiki
Revision as of 15:48, 26 April 2023 by Paul Ungur (talk | contribs)

Cerinta

Se dau n numere naturale. Calculați media lor geometrică.

Date de intrare

Programul citește de la tastatură numărul natural n , apoi n numere naturale.

Date de ieșire

Programul va afișa pe ecran media geometrică a celor n numere.

Restricții și precizări

1 < n ≤ 10 numerele citite vor fi cuprinse între 0 și 50 . rezultatul va fi punctat dacă diferența dintre cel afișat de program și cel corect este mai mică decât 0.01 .

Exemplu

Intrare 4 2 4 2 1

Ieșire 2

Explicație

2⋅4⋅2⋅1−−−−−−−−√4=2

Rezolvare

<syntaxhighlight lang="python" line="1"> def validare(n, lista):

   # Verificăm dacă numărul n respectă restricțiile impuse
   if not 1 < n <= 10:
       print("Datele nu corespund restricțiilor impuse.")
       return False
   # Verificăm dacă numerele din listă respectă restricțiile impuse
   for nr in lista:
       if not 0 <= nr <= 50:
           print("Datele nu corespund restricțiilor impuse.")
           return False
   # Toate validările au trecut
   print("Datele sunt introduse corect.")
   return True


def media_geometrica(n, lista):

   produs = 1
   for nr in lista:
       produs *= nr
   return produs ** (1 / n)


if __name__ == '__main__':

   n = int(input())
   lista = list(map(int, input().split()))
   if validare(n, lista):
       media = media_geometrica(n, lista)
       print(int(media))

</syntaxhighlight>