2708 - Verif Paritate: Difference between revisions

From Bitnami MediaWiki
No edit summary
Line 16: Line 16:
;Intrare
;Intrare


:5
:3


:1 2 3 4 5
:1 2 3  


;Ieșire
;Ieșire
Line 24: Line 24:
:Datele introduse corespund restricțiilor impuse.
:Datele introduse corespund restricțiilor impuse.


:1 0 1 0 1
:1 0 1  
==Exemplul 2==
==Exemplul 2==
;Intrare
;Intrare
Line 36: Line 36:
:Datele introduse corespund restricțiilor impuse.
:Datele introduse corespund restricțiilor impuse.


:0 1 1 0
:0 0 1 0


== Rezolvare ver. 1 ==
== Rezolvare ver. 1 ==
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def validare(n, numar):
def este_par_sau_impar(numar):
     return n.isdigit() and 1 <= int(n) <= 1000
     #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




def verifparitate(numar):
def main():
     return numar % 2 == 0  # determinăm dacă numărul este par
     try:
        n = int(input("Introduceți numărul de numere naturale: "))  # Citirea numărului de numere de la tastatură
        if n <= 0:
            print("Datele de intrare nu corespund restricțiilor impuse.")
        else:
            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


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




if __name__ == "__main__":
if __name__ == '__main__':
     numar = int(input("Introduceți numărul: "))  # citim numărul n  de la tastatură
     main()
    n = int(input("Introduceți numărul de numere: ")) # citim numărul de numere de la tastatură


if validare(n, numar):
    n = int(n)
    numar = int(numar)
    print("Datele introduse corespund restricțiilor impuse.")
    verifparitate(numar, n)


else:
else:

Revision as of 08:13, 25 April 2023

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

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


def main():

   try:
       n = int(input("Introduceți numărul de numere naturale: "))  # Citirea numărului de numere de la tastatură
       if n <= 0:
           print("Datele de intrare nu corespund restricțiilor impuse.")
       else:
           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
           # 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
   except ValueError:
       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>