0326 - Ultimul Par: Difference between revisions

From Bitnami MediaWiki
No edit summary
Line 33: Line 33:
===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 <= 10 ** 9


def ultimul_numar_par(n, numere):
def ultimul_numar_par(n, numere):
Line 43: Line 50:
     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==

Revision as of 19:14, 7 May 2023

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

<syntaxhighlight lang="python" line="1" start="1"> def validare(n):

   return 0 < int(n) <= 100


def validare2(numar):

   return 0 <= 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

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