0326 - Ultimul Par: Difference between revisions

From Bitnami MediaWiki
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 22: Line 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  




Line 33: Line 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):
Line 43: Line 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==

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