1927 - Bitsort: Difference between revisions
Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/1927/bitsort - 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... |
Nagy Lenard (talk | contribs) No edit summary |
||
Line 65: | Line 65: | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
vector = conform_restrictiilor() | vector = conform_restrictiilor() | ||
print("Datele sunt corecte.") | |||
bitsort(vector) | bitsort(vector) | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 20:24, 26 March 2023
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() print("Datele sunt corecte.") bitsort(vector)
</syntaxhighlight>