0279 - Distincte
Cerința[edit | edit source]
Se dă un şir cu n
elemente, numere naturale cu cel mult 8
cifre, ordonate crescător. Afişaţi în ordine crescătoare elementele distincte din şir.
Date de intrare[edit | edit source]
Fişierul de intrare distincte.in
conţine pe prima linie numărul n
; urmează cele n
elemente ale şirului, dispuse pe mai multe linii şi separate prin spaţii.
Date de ieșire[edit | edit source]
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse."
Pe următoarea linie se vor afișa elementele distincte din şir, în ordine crescătoare, fiecare pe o linie.
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse."
Restricții și precizări[edit | edit source]
1 ≤ n ≤ 10.000
Exemplu 1[edit | edit source]
- Intrare
- 7
- 111 111 111 2111 4111 71111 71111
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 111 2111 4111 71111
Exemplu 3[edit | edit source]
- Intrare
- -5
- 111 111 111 2111 4111 71111 71111
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1">
- 0279 - Distincte
def conditii(n, numere):
return len(numere) == n and \ 1 <= n <= 10_000 and \ numere == sorted(numere) and \ all(len(str(nr)) <= 8 for nr in numere)
def distincte(numere):
# set() este o funcție built-in care elimină duplicatele dintr-o listă # Folosim sorted() deoarece set() nu returnează un obiect sortat print(" ".join(str(x) for x in sorted(set(numere))))
if __name__ == "__main__":
n = int(input()) numere = [int(x) for x in input().split()]
while len(numere) < n: numere.extend([int(x) for x in input().split()])
if not conditii(n, numere): print("Datele de intrare nu corespund restricțiilor impuse.") else: print("Datele de intrare corespund restricțiilor impuse.") distincte(numere)
</syntaxhighlight>