2299 - Media Geometrica: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
No edit summary
Line 31: Line 31:
         print("Datele nu corespund restricțiilor impuse.")
         print("Datele nu corespund restricțiilor impuse.")
         return False
         return False
   
 
     # Verificăm dacă numerele din listă respectă restricțiile impuse
     # Verificăm dacă numerele din listă respectă restricțiile impuse
     for nr in lista:
     for nr in lista:
Line 37: Line 37:
             print("Datele nu corespund restricțiilor impuse.")
             print("Datele nu corespund restricțiilor impuse.")
             return False
             return False
   
 
     # Toate validările au trecut
     # Toate validările au trecut
     print("Datele sunt introduse corect.")
     print("Datele sunt introduse corect.")
Line 47: Line 47:
     for nr in lista:
     for nr in lista:
         produs *= nr
         produs *= nr
     return produs**(1/n)
     return produs ** (1 / n)




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


</syntaxhighlight>
</syntaxhighlight>

Revision as of 15:48, 26 April 2023

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>