4146 - Sort 10

From Bitnami MediaWiki

Cerința

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

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

Date de ieșire

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

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

Exemplul 1

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

Exemplul 2

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

Rezolvare

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