0444 - Afisare Cifre
De la Universitas MediaWiki
sursa: [1]
Cerinţa
Se dă un număr natural. Afișați în ordine strict crescătoare cifrele care apar în scrierea zecimală a numarului.
Date de intrare
Programul citește de la tastatură numărul.
Date de ieşire
Programul afișează pe ecran în ordine strict crescătoare cifrele care apar în scrierea zecimală a numarului, separate printr-un spațiu.
Restricții și precizări
- 1 ≤ n ≤ 1.000.000.000
Exemplu
- Intrare
- 2082
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 0 2 8
Rezolvare
Rezolvare ver. 1
def extrage_cifre_distincte(n):
cifre = set()
while n > 0:
cifre.add(n % 10)
n //= 10
return cifre
def afiseaza_cifre_ordine_crescatoare(cifre):
cifre_sortate = sorted(cifre)
print("Cifrele din numărul introdus, în ordine crescătoare, sunt:")
for cifra in cifre_sortate:
print(cifra, end=" ")
if __name__ == '__main__':
numar = int(input("Introduceți un număr natural: "))
if numar < 0:
print("Numărul introdus trebuie să fie pozitiv!")
else:
cifre_distincte = extrage_cifre_distincte(numar)
print("Datele introduse corespund restricțiilor impuse.")
afiseaza_cifre_ordine_crescatoare(cifre_distincte)
Rezolvare ver. 2
# Citim n de la tastatură
n = int(input("Introduceți un număr natural: "))
# Validăm datele de intrare
if n < 0:
print("Numărul introdus trebuie să fie pozitiv!")
else:
# Inițializăm un set pentru a stoca cifrele distincte
cifre = set()
# Parcurgem cifrele lui n și le adăugăm în set
while n > 0:
cifre.add(n % 10)
n //= 10
print("Datele introduse corespund restrictiilor impuse.")
# Afisam cifrele in ordine crescatoare
print("Cifrele din numărul introdus, în ordine crescătoare, sunt:")
for cifra in sorted(cifre):
print(cifra, end=" ")