4146 - Sort 10

From Bitnami MediaWiki

Cerința[edit | edit source]

Se dă un vector cu n elemente, numere naturale. Afișați în ordine descrescătoare valorile divizibile cu 10 din acest vector.

Date de intrare[edit | edit source]

Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran valorile divizibile cu 10 din vector, în ordine descrescătoare, separate prin exact un spațiu. Dacă în vector nu există numere divizibile cu 10, atunci se va afișa "NU EXISTA".

Restricții și precizări[edit | edit source]

  • 1 ≤ n ≤ 1000;
  • cele n numere citite vor fi mai mici decât 1.000.000.000;

Exemplul 1[edit | edit source]

Intrare
7
13 1 10 15 3 700 110
Ieșire
Datele de intrare corespund restricțiilor impuse.

Exemplul 2[edit | edit source]

Intrare
0
0
Ieșire
NU EXISTA
Datele de intrare nu corespund restricțiilor impuse.

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line="">

  1. 4146 - Sort 10

def vector_desc():

   # citirea numarului de elemente din vector
   n = int(input("Introduceti numarul de elemente: "))
   # initializarea vectorului si citirea elementelor
   a = []
   arr = input(f"Introduceti elementele vectorului: ").split()
   for i in range(n):
       x = int(arr[i])
       # verificarea daca elementul este multiplu de 5 si numar par
       if x % 5 == 0 and x % 2 == 0:
           a.append(x)
   return n, a

if __name__ == "__main__":

   n, a = vector_desc()
   # verificarea restrictiilor
   if 1 <= n <= 1000 and all(1 <= x <= 10**9 for x in a):
       # sortarea si afisarea vectorului
       a.sort(reverse=True)
       print("Datele de intrare corespund restricțiilor impuse.")
       print(" ".join(str(x) for x in a))
   else:
       print("NU EXISTA")
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>