0944 - Rest
Sursa: [1]
Cerința[edit | edit source]
Se dă n un număr natural. Aflați restul maxim care se poate obține dacă împărțim numărul n la orice număr care se obține prin eliminarea unei cifre ale sale.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran numărul r, reprezentând restul maxim cerut.
Restricții și precizări[edit | edit source]
10 ≤ n ≤ 2.000.000.000 dacă prin eliminarea unei cifre se obține numărul 0, atunci n nu se va împărți la 0.
Exemplu[edit | edit source]
Intrare
217 Ieșire
13
Explicație[edit | edit source]
217:17=12 rest 13, 217:27=8 rest 1, 217:21=10 rest 7, deci restul maxim obținut este 13.
Solutie[edit | edit source]
<syntaxhighlight lang="python" line> n = input() rest_maxim = -1 for i in range(len(n)): nou_numar = int(n[:i] + n[i+1:]) if nou_numar != 0 and n % nou_numar == 0:
- Calculam restul
rest = n % nou_numar
- Actualizam restul maxim
rest_maxim = max(rest_maxim, rest) print(rest_maxim) </syntaxhighlight>