0444 - Afisare Cifre
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
<syntaxhighlight lang="python" line>
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)
</syntaxhighlight>
Rezolvare ver. 2
<syntaxhighlight lang="python" line>
- 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=" ")
</syntaxhighlight>