1927 - Bitsort
Sursa: - Bitsort
Cerinţa
Se dă un vector cu n elemente, numere naturale nenule. Afișați termenii în ordine crescătoare.
Termenii care apar de mai multe ori se vor afișa o singură dată.
Date de intrare
Programul citește de la tastatură numărul n', iar apoi n numere naturale nenule, separate prin spații.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt corecte.", iar apoi se afișează elementele vectorului, în ordine crescătoare, separate prin spații, respectând cerința cerută. În caz contrar, se va afișa pe ecran: "Datele nu sunt comform restricțiilor impuse.".
Restricţii şi precizări
- 1 ⩽ n ⩽ 1.000.000
- cele n numere citite vor fi mai mici decât 300.000
Exemple
Exemplul 1
- Intrare
- 7
- 9 8 8 8 1 2 8
- Ieșire
- Datele sunt corecte.
- 1 2 8 9
Exemplul 2
- Intrare
- 4
- 1000001 214141251521 20 20
- Ieșire
- Datele nu corespund restricțiilor impuse.
Exemplul 3
- Intrare
- 5
- 11 11 20 31 31 39
- Ieșire
- Datele sunt corecte.
- 11 20 31 39
Rezolvare
<syntaxhighlight lang="python" line>
- 1927 Bitsort
def bitsort(vector):
vector.sort() for i in range(len(vector) - 1): if vector[i] != vector[i + 1]: print(vector[i], end=" ") if vector[len(vector) - 1] != vector[len(vector) - 2]: print(vector[len(vector) - 1])
def conform_restrictiilor():
n = int(input()) if n < 1 or n > 1000000: print("Datele nu sunt comform restricțiilor impuse.") exit() vector = list(map(int, input().split())) for x in vector: if x > 300000 or x < 1: print("Datele nu sunt comform restricțiilor impuse.") exit() return vector
if __name__ == '__main__':
vector = conform_restrictiilor() bitsort(vector)
</syntaxhighlight>