0633 - paritate1

From Bitnami MediaWiki
Revision as of 10:06, 11 March 2023 by Csatari Mălina (talk | contribs) (Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/633/paritate1 - Paritate1] ---- == Cerinţa == Se dă un șir cu '''n''' elemente, numere naturale. Determinați diferența în valoare absolută dintre numărul de valori pare din șir și numărul de valori impare din șir. == Date de intrare == Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere naturale, reprezentând elementele șirului. == Date de ieșire == Programul va afișa pe ecran numărul '''c''',...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sursa: - Paritate1


Cerinţa

Se dă un șir cu n elemente, numere naturale. Determinați diferența în valoare absolută dintre numărul de valori pare din șir și numărul de valori impare din șir.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele șirului.

Date de ieșire

Programul va afișa pe ecran numărul c, reprezentând valoarea cerută.

Restricţii şi precizări

  • 1 ⩽ n ⩽ 1.000
  • cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu

Intrare
5
15 245 28 33 11
Ieșire
3

Explicație

Sunt 4 numere impare și un număr par în șir, deci diferența este 3.


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0633 - Paritate1

def diferenta_absoluta_dintre_nr_de_valori_impare_si_nr_de_valori_pare(v, n):

   pare = 0
   impare = 0
   for i in range(n):
       if v[i] % 2 == 0:
           pare += 1
       else:
           impare += 1
   if impare > pare:
       c = impare - pare
       return c
   else:
       c = pare - impare
       return c


def citire_conform_restrictiilor():

   n = int(input())
   if n < 1 or n > 1000:
       print("Eroare, restrictie. Numarul n trebuie sa fie intre 1 si 1000!")
       exit()
   v = list(map(int, input().split()))
   for x in v:
       if x >= 1000000000:
           print("Eroare, restrictie. Elementele din lista trebuie sa fie mai mici decat 1.000.000.000!")
           exit()
   return v, n


if __name__ == '__main__':

   v, n = citire_conform_restrictiilor()
   c = diferenta_absoluta_dintre_nr_de_valori_impare_si_nr_de_valori_pare(v, n)
   print(c)


</syntaxhighlight>