1927 - Bitsort: Diferență între versiuni
De la Universitas MediaWiki
(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...) |
Fără descriere a modificării |
||
Linia 65: | Linia 65: | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
vector = conform_restrictiilor() | vector = conform_restrictiilor() | ||
print("Datele sunt corecte.") | |||
bitsort(vector) | bitsort(vector) | ||
</syntaxhighlight> | </syntaxhighlight> |
Versiunea de la data 26 martie 2023 20:24
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
#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)