0361 - Cifra 1
Sursă: [1]
Cerinţa[edit | edit source]
Se citește un număr natural n. Determinați cel mai mare număr care se poate obține prin eliminarea unei singure cifre din scrierea numărului n.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n.
Date de ieşire[edit | edit source]
Dacă datele introduse sunt corecte, pe ecran se va afișa "Datele introduse sunt corecte.", apoi programul afișează pe ecran numărul cerut m care se poate obține prin eliminarea unei singure cifre din scrierea numărului n. În caz contrar, se va afișa pe ecran mesajul "Datele introduse nu sunt corecte.".
Restricții și precizări[edit | edit source]
- 1 ⩽ n ⩽ 1.000.000.000
Exemplu[edit | edit source]
- Intrare
- 423234
- Ieșire
- Datele introduse sunt corecte.
- Cel mai mare număr care se poate obține prin eliminarea unei singure cifre din scrierea numărului 423234 este: 43234
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 0361
def verificare_date(n: int) -> bool:
"""Verifică dacă numărul n se află în intervalul [1, 1000000000].""" return 1 <= n <= 1000000000
def cel_mai_mare_numar_dupa_eliminare(n: int) -> int:
"""Determină cel mai mare număr care se poate obține prin eliminarea unei singure cifre din scrierea numărului n.""" numar_dupa_eliminare = -1 # inițializăm cu o valoare imposibilă for i in range(len(str(n))): # parcurgem cifrele numărului cifra_curenta = str(n)[i] numar_nou = int(str(n)[:i] + str(n)[i+1:]) # eliminăm cifra curentă if numar_nou > numar_dupa_eliminare: numar_dupa_eliminare = numar_nou # actualizăm numărul maxim return numar_dupa_eliminare
if __name__ == "__main__":
"""Funcția principală.""" n = int(input("Introduceți un număr natural: ")) if verificare_date(n): print("Datele introduse sunt corecte.") print("Cel mai mare număr care se poate obține prin eliminarea unei singure cifre din scrierea numărului", n, "este:", cel_mai_mare_numar_dupa_eliminare(n)) else: print("Datele introduse nu sunt corecte.")
</syntaxhighlight>