0326 - Ultimul Par: Diferență între versiuni

De la Universitas MediaWiki
Fără descriere a modificării
 
(Nu s-au afișat 2 versiuni intermediare efectuate de același utilizator)
Linia 22: Linia 22:
;'''Date de intrare  '''
;'''Date de intrare  '''
:8
:8
:12 15 68 13 17
:12  
:90 31 43  
:15  
:68  
:13  
:17
:90  
:31  
:43  




Linia 33: Linia 39:
===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):
Linia 43: Linia 56:
     else:
     else:
         print(ultimul_par)
         print(ultimul_par)


if __name__ == '__main__':
if __name__ == '__main__':
     n = int(input("Introduceti numarul de numere: "))
     n = input("Introduceti numarul de numere: ")
     numere = []
     numere = []
     for i in range(n):
     if validare(n):
         numere += [int(x) for x in input().split()]
         n = int(n)
    ultimul_numar_par(n, numere)
        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==
==Explicație==

Versiunea curentă din 7 mai 2023 19:15

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

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

  • 0< n <= 100
  • cele n numere citite vor avea cel mult 9 cifre

Exemplul 1

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

Rezolvare ver. 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.")

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 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".