0944 - Rest: Difference between revisions
Pop Giulia (talk | contribs) |
Pop Giulia (talk | contribs) |
||
Line 21: | Line 21: | ||
217:17=12 rest 13, 217:27=8 rest 1, 217:21=10 rest 7, deci restul maxim obținut este 13. | 217:17=12 rest 13, 217:27=8 rest 1, 217:21=10 rest 7, deci restul maxim obținut este 13. | ||
==Solutie== | ==Solutie== | ||
<syntaxhighlight lang="python" line> | |||
n = input() | n = input() | ||
rest_maxim = -1 | rest_maxim = -1 | ||
Line 32: | Line 32: | ||
rest_maxim = max(rest_maxim, rest) | rest_maxim = max(rest_maxim, rest) | ||
print(rest_maxim) | print(rest_maxim) | ||
</syntaxhighlight> |
Revision as of 10:19, 30 April 2023
Cerința
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
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa pe ecran numărul r, reprezentând restul maxim cerut.
Restricții și precizări
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
Intrare
217 Ieșire
13
Explicație
217:17=12 rest 13, 217:27=8 rest 1, 217:21=10 rest 7, deci restul maxim obținut este 13.
Solutie
<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>