4103 – Verif Paritate1

From Bitnami MediaWiki
Revision as of 13:30, 7 January 2023 by Bogdan.Pop (talk | contribs) (Pagină nouă: == Cerinţa == Se dă un şir '''vector''' cu '''numar_elemente'''(număr par) elemente, numere naturale. Să se verifice dacă toate perechile de elemente egal depărtate de capetele vectorului au elemente cu aceeași paritate. == Date de intrare == Programul citește de la tastatură numărul '''numar_elemente''', iar apoi cele '''numar_elemente''' elemente ale şirului '''vector'''. == Date de ieșire == Pe ecran se va afișa mesajul: "Datele de intrare corespund restric...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa[edit | edit source]

Se dă un şir vector cu numar_elemente(număr par) elemente, numere naturale. Să se verifice dacă toate perechile de elemente egal depărtate de capetele vectorului au elemente cu aceeași paritate.

Date de intrare[edit | edit source]

Programul citește de la tastatură numărul numar_elemente, iar apoi cele numar_elemente elemente ale şirului vector.

Date de ieșire[edit | edit source]

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse.", urmat, pe rândul următor, de mesajul "DA", dacă elementele vectorului respectă proprietatea cerută, respectiv NU în caz contrar . În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, programul va afișa "Datele de intrare nu corespund restricțiilor impuse.".

Restricţii şi precizări[edit | edit source]

  • numar_elemente ∈ ℕ
  • 1 ⩽ numar_elemente ⩽ 200
  • element vector ∈ ℕ
  • 0 ⩽ element vector ⩽ 1.000

Exemplu[edit | edit source]

Intrare
6
50
19
15
21
35
40
Ieșire
Datele introduse corespund restricțiilor impuse.
DA


Intrare
3
5
abc
63.5
Ieșire
Datele introduse nu corespund restricțiilor impuse.


Intrare
2
-25
abc
Ieșire
Datele introduse nu corespund restricțiilor impuse.


Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 4103 - Verif Paritate1

def validare_date_numar_elemente(numar):

   if numar.isdigit():
       if 1 <= int(numar) <= 1_000 and int(numar) % 2 == 0:
           return True
       else:
           return False
   else:
       return False


def validare_date_vector(vector):

   return all(element.isdigit() and 0 <= int(element) <= 1_000 for element in vector)


def verif_paritate(vector, numar_elemente):

   for indice in range(numar_elemente // 2):
       if vector[indice] % 2 == vector[numar_elemente - indice - 1] % 2:
           continue
       else:
           print("NU")
           break
   else:
       print("DA")
       
       

if __name__ == "__main__":

   numar_elemente = input()
   vector = []
   
   if validare_date_numar_elemente(numar_elemente):
       numar_elemente = int(numar_elemente)
       for indice in range(numar_elemente):
           vector.append(input())
       if validare_date_vector(vector):
           print("Datele de intrare corespund restricțiilor impuse.")
           vector = list(map(int, vector))
           verif_paritate(vector, numar_elemente)
       else:
           print("Datele de intrare nu corespund restricțiilor impuse.")
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")
         

</syntaxhighlight>