2708 - Verif Paritate

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Cerință

Se citesc n numere naturale. Determinați pentru fiecare dintre ele dacă este par sau impar.

Date de intrare

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

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Programul va afișa pe ecran n valori 0 sau 1, separate prin spații. Dacă numărul corespunzător este par se va afișa 0, iar dacă este impar se va afișa 1. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții de precizări

  • 1 ⩽ n ⩽  1000
  • se recomandă utilizarea operațiilor pe biți
  • cele n numere citite se pot reprezenta pe 64 de biți, fără semn;

Exemplul 1

Intrare
3
1 2 3
Ieșire
Datele introduse corespund restricțiilor impuse.
1 0 1

Exemplul 2

Intrare
4
4 10 7 0
Ieșire
Datele introduse corespund restricțiilor impuse.
0 0 1 0

Rezolvare ver. 1

def validare(n, numere):
    for numar in numere:
        if numar >= 2 ** 64:
            return False
    return 1 <= n <= 1000


def este_par_sau_impar(numar):
    # funcție care determină dacă un număr este par sau impar
    if numar % 2 == 0:
        return 0  # Returnează 0 pentru numere pare
    else:
        return 1  # Returnează 1 pentru numere impare


if __name__ == '__main__':
    try:
        n = int(input("Introduceți numărul de numere naturale: "))  # Citirea numărului de numere de la tastatură
        numere = []
        for i in range(n):
            numar = int(input(f"Introduceți numărul {i + 1}: "))  # Citirea fiecărui număr din lista de numere
            numere.append(numar)  # Adăugarea numărului citit în lista de numere

        if validare(n, numere):
            print("Datele de intrare corespund restrictiilor impuse.")
            # Verificăm dacă fiecare număr din listă este par sau impar și afișăm rezultatul corespunzător
            for numar in numere:
                print(este_par_sau_impar(numar),
                      end=" ")  # Afișarea rezultatului returnat de funcția este_par_sau_impar
        else:
            print("Datele de intrare nu corespund restricțiilor impuse.")
    except ValueError:
        print(
            "Datele de intrare nu corespund restricțiilor impuse.")  # Gestionarea excepției în cazul în care datele introduse nu sunt numere