0944 - Rest

De la Universitas MediaWiki

Sursa: [1]

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)