0068 - Cifra Maxima
Sursa: [1]
Cerinţa[edit | edit source]
Să se scrie un program care să determine cea mai mare cifră a unui număr natural citit de la tastatură.
Date de intrare[edit | edit source]
Programul va citi de la tastatură un număr natural.
Date de ieşire[edit | edit source]
Programul va afişa pe ecran cea mai mare cifră a numărului citit.
Restricții și precizări[edit | edit source]
- numărul citit va fi mai mic decât 2.000.000.000
Exemplu[edit | edit source]
- Intrare
- 2705
- Ieșire
- 7
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line>
def citeste_numar_natural():
""" Citeste un numar natural de la tastatura si il returneaza. """ while True: try: numar = int(input("Introduceti un numar natural: ")) if numar >= 0: return numar else: print("Numarul introdus trebuie sa fie un numar natural.") except ValueError: print("Numarul introdus trebuie sa fie un numar natural.")
def determina_cifra_maxima(numar):
""" Determina cifra maxima dintr-un numar. """ cifra_maxima = 0 for cifra in str(numar): cifra_int = int(cifra) if cifra_int > cifra_maxima: cifra_maxima = cifra_int return cifra_maxima
if __name__ == '__main__':
# Apelam functiile pentru a rula programul numar = citeste_numar_natural() cifra_maxima = determina_cifra_maxima(numar)
# Afisam rezultatul print("Datele sunt introduse corect.") print(f"Cea mai mare cifra a numarului {numar} este {cifra_maxima}.")
</syntaxhighlight>
Rezolvare ver. 2[edit | edit source]
<syntaxhighlight lang="python" line>
- Citim un număr natural de la tastatură și verificăm că este format doar din cifre
numar = int(input("Introduceți un număr natural: ")) # Citim numărul și îl convertim în întreg
- Validăm că numărul introdus este un număr natural
while not isinstance(numar, int) or numar < 0:
print("Numărul introdus trebuie să fie un număr natural.") numar = int(input("Introduceți un număr natural: "))
cifra_maxima = 0 # Inițializăm cifra maximă cu 0
- Parcurgem cifrele numărului folosind o buclă for
for cifra in str(numar): # Convertim numărul în șir de caractere și parcurgem cifrele
cifra_int = int(cifra) # Convertim cifra la întreg pentru a o putea compara cu cifra_maxima if cifra_int > cifra_maxima: # Verificăm dacă cifra curentă este mai mare decât cifra maximă găsită până acum cifra_maxima = cifra_int # Dacă da, actualizăm cifra maximă
- Afișăm cifra maximă găsită
print("Datele sunt introduse corect.") print(f"Cea mai mare cifră a numărului {numar} este {cifra_maxima}.")
</syntaxhighlight>