2708 - Verif Paritate: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==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== 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'''. ==Restricții de precizări== *1 ⩽ '''n''...
 
 
(2 intermediate revisions by 2 users not shown)
Line 5: Line 5:
Programul citește de la tastatură numărul '''n''', iar apoi '''n numere naturale'''.
Programul citește de la tastatură numărul '''n''', iar apoi '''n numere naturale'''.
==Date de ieșire==
==Date de ieșire==
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'''.
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==
==Restricții de precizări==
*1 ⩽ '''n''' ⩽  1000
*1 ⩽ '''n''' ⩽  1000
Line 15: Line 16:
;Intrare
;Intrare


:5
:3


:1 2 3 4 5
:1 2 3  


;Ieșire
;Ieșire
Line 23: 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 35: 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 validare(n, numere):
     return n.isdigit() and 1 <= int(n) <= 1000
    for numar in numere:
 
        if numar >= 2 ** 64:
            return False
     return 1 <= n <= 1000


def verifparitate(numar):
    return numar % 2 == 0  # determinăm dacă numărul este par


    for i in range(n):
def este_par_sau_impar(numar):
        if verifparitate(numar):
    # funcție care determină dacă un număr este par sau impar
            print("0", end=" ") # afișăm dacă numărul este par
    if numar % 2 == 0:
        else:
        return 0  # Returnează 0 pentru numere pare
            print("1", end=" ") # afișăm dacă numărul nu este par
    else:
        return 1  # Returnează 1 pentru numere impare




if __name__ == "__main__":
if __name__ == '__main__':
     numar = int(input("Introduceți numărul: "))  # citim numărul n  de la tastatură
     try:
    n = int(input("Introduceți numărul de numere: "))  # citim numărul de numere de la tastatură
        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, numar):
        if validare(n, numere):
    n = int(n)
            print("Datele de intrare corespund restrictiilor impuse.")
    numar = int(numar)
            # Verificăm dacă fiecare număr din listă este par sau impar și afișăm rezultatul corespunzător
    print("Datele introduse corespund restricțiilor impuse.")
            for numar in numere:
     verifparitate(numar, n)
                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


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>