0633 - paritate1
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
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele introduse sunt corecte. rezultat:", apoi se va afișa numărul c, reprezentând valoarea cerută. În caz contrar, afișati pe ecran: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări
- 1 ⩽ n ⩽ 1.000
- cele n numere citite vor fi mai mici decât 1.000.000.000
Exemplu
Exemplul 1
- Intrare
- 5
- 15 245 28 33 11
- Ieșire
- Datele introduse sunt corecte. rezultat: 3
Exemplul 2
- Intrare
- 1234
- Ieșire
- Datele nu corespund restricțiilor impuse.
Explicație exemplu 1
- Sunt 4 numere impare și un număr par în șir, deci diferența este 3.
Rezolvare
<syntaxhighlight lang="python" line>
- 0633 - Paritate1
def diferenta_absoluta_dintre_nr_de_valori_impare_si_nr_de_valori_pare(vector, n):
pare = 0 impare = 0 for i in range(n): if vector[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("Datele nu corespund restricțiilor impuse.") exit() vector = list(map(int, input().split())) for x in vector: if x >= 1000000000: print("Datele nu corespund restricțiilor impuse.") exit() return vector, n
if __name__ == '__main__':
vector, n = citire_conform_restrictiilor() c = diferenta_absoluta_dintre_nr_de_valori_impare_si_nr_de_valori_pare(vector, n) print("Datele introduse sunt corecte. rezultat:",c)
</syntaxhighlight>