0944 - Rest: Difference between revisions
Pop Giulia (talk | contribs) Pagină nouă: ==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... |
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== | ||
n = input() | n = input() | ||
rest_maxim = -1 | rest_maxim = -1 |
Revision as of 17:53, 27 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
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)