4146 - Sort 10

De la Universitas 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

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