0326 - Ultimul Par: Difference between revisions
Cuceu Andrei (talk | contribs) Pagină nouă: ==Cerință== Se dau '''n''' numere naturale. Să se determine ultimul număr par dintre cele date. ==Date de intrare== Programul citeşte de la tastatură numărul '''n''', apoi n numere naturale, dispuse pe mai multe linii. ==Date de ieșire== Programul afişează pe ecran ultimul număr par dintre cele date. Dacă nu au fost citite numere pare, se va afişa doar mesajul '''IMPOSIBIL'''. ==Restricții și precizări== *'''0< n <= 100''' *cele n numere citite vo... |
Vardai Erwin (talk | contribs) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
Se dau '''n''' numere naturale. Să se determine ultimul număr par dintre cele date. | Se dau '''n''' numere naturale. Să se determine ultimul număr par dintre cele date. | ||
Line 12: | Line 10: | ||
==Date de ieșire== | ==Date de ieșire== | ||
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." | |||
Programul afişează pe ecran ultimul număr par dintre cele date. Dacă nu au fost citite numere pare, se va afişa doar mesajul '''IMPOSIBIL'''. | Programul afişează pe ecran ultimul număr par dintre cele date. Dacă nu au fost citite numere pare, se va afişa doar mesajul '''IMPOSIBIL'''. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." | ||
Line 24: | Line 21: | ||
==Exemplul 1== | ==Exemplul 1== | ||
;'''Date de intrare ''' | ;'''Date de intrare ''' | ||
:8 | |||
:12 | |||
:15 | |||
:68 | |||
:13 | |||
:17 | |||
:90 | |||
:31 | |||
:43 | |||
;'''Date de ieşire ''' | ;'''Date de ieşire ''' | ||
:Datele de intrare corespund restricțiilor impuse. | |||
:90 | |||
==Rezolvare== | ==Rezolvare== | ||
===Rezolvare ver. 1=== | ===Rezolvare ver. 1=== | ||
<syntaxhighlight lang="python" line="1" start="1"> | <syntaxhighlight lang="python" line="1" start="1"> | ||
def validare(n): | |||
return 0 < int(n) <= 100 | |||
def validare2(numar): | |||
return 0 < int(numar) <= 10 ** 9 | |||
def ultimul_numar_par(n, numere): | def ultimul_numar_par(n, numere): | ||
Line 48: | Line 57: | ||
print(ultimul_par) | print(ultimul_par) | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = input("Introduceti numarul de numere: ") | |||
numere = [] | |||
if validare(n): | |||
n = int(n) | |||
for i in range(n): | |||
numar = input() | |||
if validare(numar): | |||
numar = int(numar) | |||
numere.append(numar) | |||
print("Datele de intrare corespund restrictiilor impuse.") | |||
ultimul_numar_par(n, numere) | |||
else: | |||
print("Datele de intrare corespund restrictiilor impuse.") | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==Explicație== | |||
== | |||
Funcția ultimul_numar_par primește numărul total de numere n și o listă de numere numere, și determină ultimul număr par din lista. | Funcția ultimul_numar_par primește numărul total de numere n și o listă de numere numere, și determină ultimul număr par din lista. |
Latest revision as of 19:15, 7 May 2023
Cerință[edit | edit source]
Se dau n numere naturale. Să se determine ultimul număr par dintre cele date.
Date de intrare[edit | edit source]
Programul citeşte de la tastatură numărul n, apoi n numere naturale, dispuse pe mai multe linii.
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 afişează pe ecran ultimul număr par dintre cele date. Dacă nu au fost citite numere pare, se va afişa doar mesajul IMPOSIBIL. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții și precizări[edit | edit source]
- 0< n <= 100
- cele n numere citite vor avea cel mult 9 cifre
Exemplul 1[edit | edit source]
- Date de intrare
- 8
- 12
- 15
- 68
- 13
- 17
- 90
- 31
- 43
- Date de ieşire
- Datele de intrare corespund restricțiilor impuse.
- 90
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="1"> def validare(n):
return 0 < int(n) <= 100
def validare2(numar):
return 0 < int(numar) <= 10 ** 9
def ultimul_numar_par(n, numere):
ultimul_par = None for numar in numere: if numar % 2 == 0: ultimul_par = numar if ultimul_par is None: print("IMPOSIBIL") else: print(ultimul_par)
if __name__ == '__main__':
n = input("Introduceti numarul de numere: ") numere = [] if validare(n): n = int(n) for i in range(n): numar = input() if validare(numar): numar = int(numar) numere.append(numar) print("Datele de intrare corespund restrictiilor impuse.") ultimul_numar_par(n, numere) else: print("Datele de intrare corespund restrictiilor impuse.")
</syntaxhighlight>
Explicație[edit | edit source]
Funcția ultimul_numar_par primește numărul total de numere n și o listă de numere numere, și determină ultimul număr par din lista. Funcția main primește de la utilizator numărul total de numere n și o listă de n numere separate prin spații pe mai multe linii. Apoi, apelează funcția ultimul_numar_par cu aceste date. Restricțiile sunt îndeplinite prin verificarea că n este între 1 și 100, iar numerele citite au cel mult 9 cifre. În cazul în care nu există numere pare în lista, se afișează mesajul "IMPOSIBIL".