2708 - Verif Paritate: Difference between revisions

From Bitnami MediaWiki
No edit summary
 
Line 40: Line 40:
== Rezolvare ver. 1 ==
== Rezolvare ver. 1 ==
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="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):
def este_par_sau_impar(numar):
     #funcție care determină dacă un număr este par sau impar
     # funcție care determină dacă un număr este par sau impar
     if numar % 2 == 0:
     if numar % 2 == 0:
         return 0  # Returnează 0 pentru numere pare
         return 0  # Returnează 0 pentru numere pare
Line 48: Line 55:




def main():
if __name__ == '__main__':
     try:
     try:
         n = int(input("Introduceți numărul de numere naturale: "))  # Citirea numărului de numere de la tastatură
         n = int(input("Introduceți numărul de numere naturale: "))  # Citirea numărului de numere de la tastatură
         if n <= 0:
         numere = []
            print("Datele de intrare nu corespund restricțiilor impuse.")
        for i in range(n):
        else:
            numar = int(input(f"Introduceți numărul {i + 1}: "))  # Citirea fiecărui număr din lista de numere
            numere = []
            numere.append(numar)  # Adăugarea numărului citit în lista de 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
             # Verificăm dacă fiecare număr din listă este par sau impar și afișăm rezultatul corespunzător
             for numar in numere:
             for numar in numere:
                 print(este_par_sau_impar(numar), end=" ")  # Afișarea rezultatului returnat de funcția este_par_sau_impar
                 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:
     except ValueError:
         print("Datele de intrare nu corespund restricțiilor impuse.")  # Gestionarea excepției în cazul în care datele introduse nu sunt numere
         print(
 
            "Datele de intrare nu corespund restricțiilor impuse.")  # Gestionarea excepției în cazul în care datele introduse nu sunt numere
 
if __name__ == '__main__':
    main()
 


else:
    print("Datele introduse nu corespund restricțiilor impuse.")


</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 19:26, 25 April 2023

Cerință[edit | edit source]

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

Date de intrare[edit | edit source]

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

Date de ieșire[edit | edit source]

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[edit | edit source]

  • 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[edit | edit source]

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

Exemplul 2[edit | edit source]

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

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="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


</syntaxhighlight>