0944 - Rest: Difference between revisions
Pop Giulia (talk | contribs) |
Pop Giulia (talk | contribs) No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
Sursa: [https://www.pbinfo.ro/probleme/944/rest] | |||
==Cerința== | ==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. | 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. | ||
Line 21: | Line 23: | ||
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 34: | ||
rest_maxim = max(rest_maxim, rest) | rest_maxim = max(rest_maxim, rest) | ||
print(rest_maxim) | print(rest_maxim) | ||
</syntaxhighlight> |
Latest revision as of 12:49, 20 May 2023
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>