2708 - Verif Paritate: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
(One intermediate revision by one other user not shown) | |||
Line 16: | Line 16: | ||
;Intrare | ;Intrare | ||
: | :3 | ||
:1 2 3 | :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 | ||
==Exemplul 2== | ==Exemplul 2== | ||
;Intrare | ;Intrare | ||
Line 36: | Line 36: | ||
:Datele introduse corespund restricțiilor impuse. | :Datele introduse corespund restricțiilor impuse. | ||
: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 | for numar in numere: | ||
if numar >= 2 ** 64: | |||
return False | |||
return 1 <= n <= 1000 | |||
def | 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 | 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> | </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>